[INFO] fetching crate racing_scraper 0.0.20...
[INFO] testing racing_scraper-0.0.20 against beta-2025-10-28 for beta-1.92-2
[INFO] extracting crate racing_scraper 0.0.20 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate racing_scraper 0.0.20
[INFO] finished tweaking crates.io crate racing_scraper 0.0.20
[INFO] tweaked toml for crates.io crate racing_scraper 0.0.20 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate racing_scraper 0.0.20 on toolchain beta-2025-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate racing_scraper 0.0.20 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" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7dd1c57b65fe7d73ea89f4463ea3d40074a71aa961e306344def64ad6cec6b60
[INFO] running `Command { std: "docker" "start" "-a" "7dd1c57b65fe7d73ea89f4463ea3d40074a71aa961e306344def64ad6cec6b60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7dd1c57b65fe7d73ea89f4463ea3d40074a71aa961e306344def64ad6cec6b60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7dd1c57b65fe7d73ea89f4463ea3d40074a71aa961e306344def64ad6cec6b60", kill_on_drop: false }`
[INFO] [stdout] 7dd1c57b65fe7d73ea89f4463ea3d40074a71aa961e306344def64ad6cec6b60
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e6ea950c86bbfd9adc664b63ca6930a625cf571607af5a3e01cc3ea137e3499c
[INFO] running `Command { std: "docker" "start" "-a" "e6ea950c86bbfd9adc664b63ca6930a625cf571607af5a3e01cc3ea137e3499c", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.13
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling parking_lot_core v0.9.8
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling futures-sink v0.3.28
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling bytes v1.5.0
[INFO] [stderr]    Compiling smallvec v1.11.1
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling itoa v1.0.9
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling futures-io v0.3.28
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]    Compiling openssl v0.10.57
[INFO] [stderr]    Compiling tracing-core v0.1.31
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling http v0.2.9
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling httparse v1.8.0
[INFO] [stderr]    Compiling bitflags v2.4.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]    Compiling socket2 v0.5.4
[INFO] [stderr]    Compiling mio v0.8.8
[INFO] [stderr]    Compiling signal-hook-registry v1.4.1
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling try-lock v0.2.4
[INFO] [stderr]    Compiling percent-encoding v2.3.0
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling socket2 v0.4.9
[INFO] [stderr]    Compiling form_urlencoded v1.2.0
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling http-body v0.4.5
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling tower-service v0.3.2
[INFO] [stderr]    Compiling serde_json v1.0.107
[INFO] [stderr]    Compiling ryu v1.0.15
[INFO] [stderr]    Compiling unicode-bidi v0.3.13
[INFO] [stderr]    Compiling encoding_rs v0.8.33
[INFO] [stderr]    Compiling base64 v0.21.4
[INFO] [stderr]    Compiling iana-time-zone v0.1.57
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling ipnet v2.8.0
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling idna v0.4.0
[INFO] [stderr]    Compiling openssl-sys v0.9.93
[INFO] [stderr]    Compiling url v2.4.1
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.188
[INFO] [stderr]    Compiling tokio v1.33.0
[INFO] [stderr]    Compiling futures-executor v0.3.28
[INFO] [stderr]    Compiling futures v0.3.28
[INFO] [stderr]    Compiling tokio-util v0.7.9
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]    Compiling h2 v0.3.21
[INFO] [stderr]    Compiling hyper v0.14.27
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.22
[INFO] [stderr]    Compiling racing_scraper v0.0.20 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ops::Sub`
[INFO] [stdout]  --> src/sports/util.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Sub;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sports::soccer::market_model::Fraction`
[INFO] [stdout]  --> src/sports/util.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sports::soccer::market_model::Fraction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/sports/ladbrokes/converter/scorer.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |         for (_, (entrant_id)) in atgs_market.entrant_ids.iter().enumerate() {
[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] 29 -         for (_, (entrant_id)) in atgs_market.entrant_ids.iter().enumerate() {
[INFO] [stdout] 29 +         for (_, entrant_id ) in atgs_market.entrant_ids.iter().enumerate() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/sports/ladbrokes/converter/match_markets.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |         for (_, (entrant_id)) in h2h_market.entrant_ids.iter().enumerate() {
[INFO] [stdout]    |                 ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 13 -         for (_, (entrant_id)) in h2h_market.entrant_ids.iter().enumerate() {
[INFO] [stdout] 13 +         for (_, entrant_id ) in h2h_market.entrant_ids.iter().enumerate() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::StatusCode`
[INFO] [stdout]  --> src/sports/ladbrokes/scraper/event/fetch.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use reqwest::StatusCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/sports/points_bet/converter/handicap.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |     for (_, (market_name)) in two_way_markets.iter().enumerate() {
[INFO] [stdout]    |             ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 23 -     for (_, (market_name)) in two_way_markets.iter().enumerate() {
[INFO] [stdout] 23 +     for (_, market_name ) in two_way_markets.iter().enumerate() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/sports/points_bet/converter/handicap.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |     for (_, (market_name)) in three_way_markets.iter().enumerate() {
[INFO] [stdout]    |             ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -     for (_, (market_name)) in three_way_markets.iter().enumerate() {
[INFO] [stdout] 44 +     for (_, market_name ) in three_way_markets.iter().enumerate() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sports/points_bet/converter/match_markets.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut draw= 0.;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `draw`
[INFO] [stdout]   --> src/sports/points_bet/converter/match_markets.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut draw= 0.;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_draw`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sports/points_bet/converter/assist.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |         if let Some(mut market_list) = market_map.get_mut(&outcome.points.to_string()) {
[INFO] [stdout]    |                     ----^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sports/points_bet/converter/shot.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |         if let Some(mut market_list) = market_map.get_mut(&outcome.points.to_string()) {
[INFO] [stdout]    |                     ----^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/racing/sports_bet/utils.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |         let mut prices: Option<Prices>;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sb_win_place_price`
[INFO] [stdout]    --> src/racing/sports_bet/utils.rs:256:9
[INFO] [stdout]     |
[INFO] [stdout] 256 |     let sb_win_place_price = get_win_sb_price(&sb_selection.prices);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sb_win_place_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `market_id` are never read
[INFO] [stdout]   --> src/sports/ladbrokes/scraper/event/model.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) struct Entrant {
[INFO] [stdout]    |                   ------- fields in this struct
[INFO] [stdout] 17 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 18 |     pub name: String,
[INFO] [stdout] 19 |     pub market_id: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Entrant` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `match_status`, `competition`, `market_count`, `main_markets`, `market_ids`, and `participant_ids` are never read
[INFO] [stdout]   --> src/sports/ladbrokes/scraper/event/model.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) struct Event {
[INFO] [stdout]    |                   ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub match_status: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub advertised_start: DateTime<Utc>,
[INFO] [stdout] 39 |     pub competition: Competition,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 40 |     pub market_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 41 |     pub main_markets: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 42 |     pub market_ids: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 43 |     pub participant_ids: Vec<String>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Event` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `id` are never read
[INFO] [stdout]   --> src/sports/ladbrokes/scraper/event/model.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct Competition {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 47 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 48 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Competition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `event_id`, `market_type_id`, and `num_winners` are never read
[INFO] [stdout]   --> src/sports/ladbrokes/scraper/event/model.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub(crate) struct Market {
[INFO] [stdout]    |                   ------ fields in this struct
[INFO] [stdout] 52 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 53 |     pub event_id: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 54 |     pub market_type_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub num_winners: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Market` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `event_key` and `points` are never read
[INFO] [stdout]   --> src/sports/points_bet/scraper/event/model.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct Market {
[INFO] [stdout]    |                   ------ fields in this struct
[INFO] [stdout] 25 |     pub event_key: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 26 |     pub event_name: String,
[INFO] [stdout] 27 |     pub points: f32,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Market` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bet_detail_type_code` is never read
[INFO] [stdout]   --> src/sports/points_bet/scraper/event/model.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) struct Outcome {
[INFO] [stdout]    |                   ------- field in this struct
[INFO] [stdout] 36 |     pub bet_detail_type_code: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Outcome` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HandicapType` is never used
[INFO] [stdout]  --> src/sports/points_bet/converter/handicap.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum HandicapType {
[INFO] [stdout]   |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `betting_status` is never read
[INFO] [stdout]   --> src/racing/sports_bet/models.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct SBEvent {
[INFO] [stdout]    |                   ------- field in this struct
[INFO] [stdout] 12 |     pub id: u64,
[INFO] [stdout] 13 |     pub betting_status: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SBEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/racing/sports_bet/models.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) struct SBSRMEventDetail {
[INFO] [stdout]    |                   ---------------- field in this struct
[INFO] [stdout] 26 |     pub id: u64,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SBSRMEventDetail` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `same_game_multi_enabled` and `track_status` are never read
[INFO] [stdout]   --> src/racing/sports_bet/models.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub(crate) struct SBEventDetail {
[INFO] [stdout]    |                   ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub same_game_multi_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 57 |     pub track_status: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SBEventDetail` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `short_form` are never read
[INFO] [stdout]   --> src/racing/sports_bet/models.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub(crate) struct SBSelection {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 73 |     pub id: i64,
[INFO] [stdout]    |         ^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub short_form: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SBSelection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.41s
[INFO] running `Command { std: "docker" "inspect" "e6ea950c86bbfd9adc664b63ca6930a625cf571607af5a3e01cc3ea137e3499c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6ea950c86bbfd9adc664b63ca6930a625cf571607af5a3e01cc3ea137e3499c", kill_on_drop: false }`
[INFO] [stdout] e6ea950c86bbfd9adc664b63ca6930a625cf571607af5a3e01cc3ea137e3499c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6400a328e20f1de33b72205d69910798e416af3b3f308299da993192682d34ed
[INFO] running `Command { std: "docker" "start" "-a" "6400a328e20f1de33b72205d69910798e416af3b3f308299da993192682d34ed", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::ops::Sub`
[INFO] [stdout]  --> src/sports/util.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Sub;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sports::soccer::market_model::Fraction`
[INFO] [stdout]  --> src/sports/util.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sports::soccer::market_model::Fraction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/sports/ladbrokes/converter/scorer.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |         for (_, (entrant_id)) in atgs_market.entrant_ids.iter().enumerate() {
[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] 29 -         for (_, (entrant_id)) in atgs_market.entrant_ids.iter().enumerate() {
[INFO] [stdout] 29 +         for (_, entrant_id ) in atgs_market.entrant_ids.iter().enumerate() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/sports/ladbrokes/converter/match_markets.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |         for (_, (entrant_id)) in h2h_market.entrant_ids.iter().enumerate() {
[INFO] [stdout]    |                 ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 13 -         for (_, (entrant_id)) in h2h_market.entrant_ids.iter().enumerate() {
[INFO] [stdout] 13 +         for (_, entrant_id ) in h2h_market.entrant_ids.iter().enumerate() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::StatusCode`
[INFO] [stdout]  --> src/sports/ladbrokes/scraper/event/fetch.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use reqwest::StatusCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling racing_scraper v0.0.20 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/sports/points_bet/converter/handicap.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |     for (_, (market_name)) in two_way_markets.iter().enumerate() {
[INFO] [stdout]    |             ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 23 -     for (_, (market_name)) in two_way_markets.iter().enumerate() {
[INFO] [stdout] 23 +     for (_, market_name ) in two_way_markets.iter().enumerate() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/sports/points_bet/converter/handicap.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |     for (_, (market_name)) in three_way_markets.iter().enumerate() {
[INFO] [stdout]    |             ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -     for (_, (market_name)) in three_way_markets.iter().enumerate() {
[INFO] [stdout] 44 +     for (_, market_name ) in three_way_markets.iter().enumerate() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sports/points_bet/converter/match_markets.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut draw= 0.;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `draw`
[INFO] [stdout]   --> src/sports/points_bet/converter/match_markets.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut draw= 0.;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_draw`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sports/points_bet/converter/assist.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |         if let Some(mut market_list) = market_map.get_mut(&outcome.points.to_string()) {
[INFO] [stdout]    |                     ----^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sports/points_bet/converter/shot.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |         if let Some(mut market_list) = market_map.get_mut(&outcome.points.to_string()) {
[INFO] [stdout]    |                     ----^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/racing/sports_bet/utils.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |         let mut prices: Option<Prices>;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sb_win_place_price`
[INFO] [stdout]    --> src/racing/sports_bet/utils.rs:256:9
[INFO] [stdout]     |
[INFO] [stdout] 256 |     let sb_win_place_price = get_win_sb_price(&sb_selection.prices);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sb_win_place_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `market_id` are never read
[INFO] [stdout]   --> src/sports/ladbrokes/scraper/event/model.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) struct Entrant {
[INFO] [stdout]    |                   ------- fields in this struct
[INFO] [stdout] 17 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 18 |     pub name: String,
[INFO] [stdout] 19 |     pub market_id: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Entrant` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `match_status`, `competition`, `market_count`, `main_markets`, `market_ids`, and `participant_ids` are never read
[INFO] [stdout]   --> src/sports/ladbrokes/scraper/event/model.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub(crate) struct Event {
[INFO] [stdout]    |                   ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub match_status: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub advertised_start: DateTime<Utc>,
[INFO] [stdout] 39 |     pub competition: Competition,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 40 |     pub market_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 41 |     pub main_markets: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 42 |     pub market_ids: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 43 |     pub participant_ids: Vec<String>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Event` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `id` are never read
[INFO] [stdout]   --> src/sports/ladbrokes/scraper/event/model.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) struct Competition {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 47 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 48 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Competition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `event_id`, `market_type_id`, and `num_winners` are never read
[INFO] [stdout]   --> src/sports/ladbrokes/scraper/event/model.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub(crate) struct Market {
[INFO] [stdout]    |                   ------ fields in this struct
[INFO] [stdout] 52 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 53 |     pub event_id: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 54 |     pub market_type_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub num_winners: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Market` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `event_key` and `points` are never read
[INFO] [stdout]   --> src/sports/points_bet/scraper/event/model.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) struct Market {
[INFO] [stdout]    |                   ------ fields in this struct
[INFO] [stdout] 25 |     pub event_key: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 26 |     pub event_name: String,
[INFO] [stdout] 27 |     pub points: f32,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Market` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bet_detail_type_code` is never read
[INFO] [stdout]   --> src/sports/points_bet/scraper/event/model.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub(crate) struct Outcome {
[INFO] [stdout]    |                   ------- field in this struct
[INFO] [stdout] 36 |     pub bet_detail_type_code: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Outcome` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HandicapType` is never used
[INFO] [stdout]  --> src/sports/points_bet/converter/handicap.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | enum HandicapType {
[INFO] [stdout]   |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `betting_status` is never read
[INFO] [stdout]   --> src/racing/sports_bet/models.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(crate) struct SBEvent {
[INFO] [stdout]    |                   ------- field in this struct
[INFO] [stdout] 12 |     pub id: u64,
[INFO] [stdout] 13 |     pub betting_status: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SBEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/racing/sports_bet/models.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) struct SBSRMEventDetail {
[INFO] [stdout]    |                   ---------------- field in this struct
[INFO] [stdout] 26 |     pub id: u64,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SBSRMEventDetail` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `same_game_multi_enabled` and `track_status` are never read
[INFO] [stdout]   --> src/racing/sports_bet/models.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub(crate) struct SBEventDetail {
[INFO] [stdout]    |                   ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub same_game_multi_enabled: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 57 |     pub track_status: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SBEventDetail` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `short_form` are never read
[INFO] [stdout]   --> src/racing/sports_bet/models.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub(crate) struct SBSelection {
[INFO] [stdout]    |                   ----------- fields in this struct
[INFO] [stdout] 73 |     pub id: i64,
[INFO] [stdout]    |         ^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub short_form: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SBSelection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::models`
[INFO] [stdout]    --> src/racing/sports_bet/utils.rs:329:16
[INFO] [stdout]     |
[INFO] [stdout] 329 |     use crate::models::{SBMarket, SBPrice, SBRunnerStatusCode, SBSelection};
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                unresolved import
[INFO] [stdout]     |                help: a similar path exists: `racing::sports_bet::models`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::utils`
[INFO] [stdout]    --> src/racing/sports_bet/utils.rs:332:16
[INFO] [stdout]     |
[INFO] [stdout] 332 |     use crate::utils::{get_win_place_market, get_win_sb_price};
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                unresolved import
[INFO] [stdout]     |                help: a similar path exists: `racing::sports_bet::utils`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Sub`
[INFO] [stdout]  --> src/sports/util.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Sub;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sports::soccer::market_model::Fraction`
[INFO] [stdout]  --> src/sports/util.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sports::soccer::market_model::Fraction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/sports/ladbrokes/converter/scorer.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |         for (_, (entrant_id)) in atgs_market.entrant_ids.iter().enumerate() {
[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] 29 -         for (_, (entrant_id)) in atgs_market.entrant_ids.iter().enumerate() {
[INFO] [stdout] 29 +         for (_, entrant_id ) in atgs_market.entrant_ids.iter().enumerate() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/sports/ladbrokes/converter/match_markets.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |         for (_, (entrant_id)) in h2h_market.entrant_ids.iter().enumerate() {
[INFO] [stdout]    |                 ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 13 -         for (_, (entrant_id)) in h2h_market.entrant_ids.iter().enumerate() {
[INFO] [stdout] 13 +         for (_, entrant_id ) in h2h_market.entrant_ids.iter().enumerate() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::StatusCode`
[INFO] [stdout]  --> src/sports/ladbrokes/scraper/event/fetch.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use reqwest::StatusCode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/sports/points_bet/converter/handicap.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |     for (_, (market_name)) in two_way_markets.iter().enumerate() {
[INFO] [stdout]    |             ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 23 -     for (_, (market_name)) in two_way_markets.iter().enumerate() {
[INFO] [stdout] 23 +     for (_, market_name ) in two_way_markets.iter().enumerate() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/sports/points_bet/converter/handicap.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |     for (_, (market_name)) in three_way_markets.iter().enumerate() {
[INFO] [stdout]    |             ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -     for (_, (market_name)) in three_way_markets.iter().enumerate() {
[INFO] [stdout] 44 +     for (_, market_name ) in three_way_markets.iter().enumerate() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sports/points_bet/converter/match_markets.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut draw= 0.;
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `draw`
[INFO] [stdout]   --> src/sports/points_bet/converter/match_markets.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut draw= 0.;
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_draw`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sports/points_bet/converter/assist.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |         if let Some(mut market_list) = market_map.get_mut(&outcome.points.to_string()) {
[INFO] [stdout]    |                     ----^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sports/points_bet/converter/shot.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |         if let Some(mut market_list) = market_map.get_mut(&outcome.points.to_string()) {
[INFO] [stdout]    |                     ----^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/racing/sports_bet/utils.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |         let mut prices: Option<Prices>;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sb_win_place_price`
[INFO] [stdout]    --> src/racing/sports_bet/utils.rs:256:9
[INFO] [stdout]     |
[INFO] [stdout] 256 |     let sb_win_place_price = get_win_sb_price(&sb_selection.prices);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sb_win_place_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `racing_scraper` (lib test) due to 2 previous errors; 13 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6400a328e20f1de33b72205d69910798e416af3b3f308299da993192682d34ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6400a328e20f1de33b72205d69910798e416af3b3f308299da993192682d34ed", kill_on_drop: false }`
[INFO] [stdout] 6400a328e20f1de33b72205d69910798e416af3b3f308299da993192682d34ed
