[INFO] cloning repository https://github.com/wengkit1/TFTTRAIT8BALL
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wengkit1/TFTTRAIT8BALL" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwengkit1%2FTFTTRAIT8BALL", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwengkit1%2FTFTTRAIT8BALL'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 91eb0660afa3e98de7341f5dac365ce09578c6eb
[INFO] checking wengkit1/TFTTRAIT8BALL against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwengkit1%2FTFTTRAIT8BALL" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  38% (2169/5625)
Updating files:  39% (2194/5625)
Updating files:  40% (2250/5625)
Updating files:  41% (2307/5625)
Updating files:  42% (2363/5625)
Updating files:  43% (2419/5625)
Updating files:  44% (2475/5625)
Updating files:  45% (2532/5625)
Updating files:  46% (2588/5625)
Updating files:  47% (2644/5625)
Updating files:  48% (2700/5625)
Updating files:  49% (2757/5625)
Updating files:  50% (2813/5625)
Updating files:  51% (2869/5625)
Updating files:  51% (2892/5625)
Updating files:  52% (2925/5625)
Updating files:  53% (2982/5625)
Updating files:  53% (3029/5625)
Updating files:  54% (3038/5625)
Updating files:  55% (3094/5625)
Updating files:  56% (3150/5625)
Updating files:  57% (3207/5625)
Updating files:  58% (3263/5625)
Updating files:  59% (3319/5625)
Updating files:  60% (3375/5625)
Updating files:  60% (3385/5625)
Updating files:  61% (3432/5625)
Updating files:  62% (3488/5625)
Updating files:  63% (3544/5625)
Updating files:  64% (3600/5625)
Updating files:  65% (3657/5625)
Updating files:  66% (3713/5625)
Updating files:  67% (3769/5625)
Updating files:  68% (3825/5625)
Updating files:  69% (3882/5625)
Updating files:  70% (3938/5625)
Updating files:  71% (3994/5625)
Updating files:  72% (4050/5625)
Updating files:  73% (4107/5625)
Updating files:  74% (4163/5625)
Updating files:  74% (4215/5625)
Updating files:  75% (4219/5625)
Updating files:  76% (4275/5625)
Updating files:  77% (4332/5625)
Updating files:  78% (4388/5625)
Updating files:  79% (4444/5625)
Updating files:  80% (4500/5625)
Updating files:  81% (4557/5625)
Updating files:  82% (4613/5625)
Updating files:  83% (4669/5625)
Updating files:  84% (4725/5625)
Updating files:  85% (4782/5625)
Updating files:  86% (4838/5625)
Updating files:  87% (4894/5625)
Updating files:  88% (4950/5625)
Updating files:  89% (5007/5625)
Updating files:  90% (5063/5625)
Updating files:  91% (5119/5625)
Updating files:  91% (5128/5625)
Updating files:  92% (5175/5625)
Updating files:  93% (5232/5625)
Updating files:  94% (5288/5625)
Updating files:  95% (5344/5625)
Updating files:  96% (5400/5625)
Updating files:  97% (5457/5625)
Updating files:  98% (5513/5625)
Updating files:  99% (5569/5625)
Updating files: 100% (5625/5625)
Updating files: 100% (5625/5625), done.
[INFO] started tweaking git repo https://github.com/wengkit1/TFTTRAIT8BALL
[INFO] finished tweaking git repo https://github.com/wengkit1/TFTTRAIT8BALL
[INFO] tweaked toml for git repo https://github.com/wengkit1/TFTTRAIT8BALL written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wengkit1/TFTTRAIT8BALL on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wengkit1/TFTTRAIT8BALL 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.99
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.99
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.99
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.99
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.49
[INFO] [stderr]   Downloaded tempfile v3.15.0
[INFO] [stderr]   Downloaded js-sys v0.3.76
[INFO] [stderr]   Downloaded miniz_oxide v0.8.2
[INFO] [stderr]   Downloaded cc v1.2.7
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.99
[INFO] [stderr]   Downloaded serde_json v1.0.135
[INFO] [stderr]   Downloaded syn v2.0.95
[INFO] [stderr]   Downloaded ratatui v0.24.0
[INFO] [stderr]   Downloaded rustix v0.38.43
[INFO] [stderr]   Downloaded web-sys v0.3.76
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fe899204f32b75d75285d97acef8cd2cb512f99aa61f0fede7e390913e9ddea2
[INFO] running `Command { std: "docker" "start" "-a" "fe899204f32b75d75285d97acef8cd2cb512f99aa61f0fede7e390913e9ddea2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fe899204f32b75d75285d97acef8cd2cb512f99aa61f0fede7e390913e9ddea2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe899204f32b75d75285d97acef8cd2cb512f99aa61f0fede7e390913e9ddea2", kill_on_drop: false }`
[INFO] [stdout] fe899204f32b75d75285d97acef8cd2cb512f99aa61f0fede7e390913e9ddea2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f2280416dbfc1bdd0080217ac0d0052673f76073ce6af5a5b2cfc6346bb0e743
[INFO] running `Command { std: "docker" "start" "-a" "f2280416dbfc1bdd0080217ac0d0052673f76073ce6af5a5b2cfc6346bb0e743", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking writeable v0.5.5
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking litemap v0.7.4
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling cc v1.2.7
[INFO] [stderr]     Checking bytes v1.9.0
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking itoa v1.0.14
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking foldhash v0.1.4
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling syn v2.0.95
[INFO] [stderr]     Checking icu_locid_transform_data v1.5.0
[INFO] [stderr]     Checking icu_properties_data v1.5.0
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]    Compiling rustversion v1.0.19
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]     Checking icu_normalizer_data v1.5.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking indexmap v2.7.0
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking tokio v1.43.0
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]    Compiling serde_json v1.0.135
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling indoc v2.0.5
[INFO] [stderr]     Checking ipnet v2.10.1
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking ratatui v0.24.0
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking tft_trait_8_ball v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ChampionId`
[INFO] [stdout]  --> src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 |     champions::{ChampionId, ChampionPool, OptimalComp},
[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: `optimiser::constrained_finder::find_optimal_comp_with_requirements`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use optimiser::constrained_finder::find_optimal_comp_with_requirements;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `ListItem`, and `Style`
[INFO] [stdout]  --> src/ui/selector/trait_selector.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |     style::{Color, Style},
[INFO] [stdout]   |             ^^^^^  ^^^^^
[INFO] [stdout] 6 |     text::{Line, Span},
[INFO] [stdout] 7 |     widgets::{List, ListItem},
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ChampionId`
[INFO] [stdout]  --> src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 |     champions::{ChampionId, ChampionPool, OptimalComp},
[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: `optimiser::constrained_finder::find_optimal_comp_with_requirements`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use optimiser::constrained_finder::find_optimal_comp_with_requirements;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `ListItem`, and `Style`
[INFO] [stdout]  --> src/ui/selector/trait_selector.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |     style::{Color, Style},
[INFO] [stdout]   |             ^^^^^  ^^^^^
[INFO] [stdout] 6 |     text::{Line, Span},
[INFO] [stdout] 7 |     widgets::{List, ListItem},
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_results` is never used
[INFO] [stdout]   --> src/main.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn save_results(comps: &[OptimalComp], filename: &str) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `by_id` is never read
[INFO] [stdout]   --> src/models/champions.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ChampionPool {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 17 |     pub by_id: HashMap<ChampionId, Champion>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChampionPool` 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 `effects` is never read
[INFO] [stdout]   --> src/models/champions.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Trait {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 37 |     pub name: String,
[INFO] [stdout] 38 |     pub effects: Vec<TraitEffect>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Trait` 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 `min_units` is never read
[INFO] [stdout]   --> src/models/champions.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct TraitEffect {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 43 |     #[serde(rename = "minUnits")]
[INFO] [stdout] 44 |     pub min_units: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TraitEffect` 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: struct `OptimalComp` is never constructed
[INFO] [stdout]   --> src/models/champions.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct OptimalComp {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraitActivation` is never constructed
[INFO] [stdout]   --> src/models/champions.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct TraitActivation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `champion_pool` and `traits` are never read
[INFO] [stdout]  --> src/models/state.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Context {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 7 |     pub champion_pool: Arc<ChampionPool>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 8 |     pub traits: Arc<Vec<Trait>>,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Context` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get` is never used
[INFO] [stdout]   --> src/models/state.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn get() -> &'static Context {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_optimal_comp_with_requirements` is never used
[INFO] [stdout]  --> src/optimiser/constrained_finder.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn find_optimal_comp_with_requirements(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_optimal_comp_greedy` is never used
[INFO] [stdout]  --> src/optimiser/greedy.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn find_optimal_comp_greedy(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_combined_score` is never used
[INFO] [stdout]   --> src/optimiser/greedy.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn calculate_combined_score(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_near_breakpoint` is never used
[INFO] [stdout]    --> src/optimiser/greedy.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn is_near_breakpoint(count: usize, trait_def: &Trait) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_trait_activations` is never used
[INFO] [stdout]  --> src/optimiser/trait_calc/trait_activation.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn calculate_trait_activations(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/selector/trait_selector.rs:104:29
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn render_main_text(&self) -> Line {
[INFO] [stdout]     |                             ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn render_main_text(&self) -> Line<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/selector/trait_selector.rs:121:32
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn render_editing_text(&self) -> Line {
[INFO] [stdout]     |                                ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn render_editing_text(&self) -> Line<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_results` is never used
[INFO] [stdout]   --> src/main.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn save_results(comps: &[OptimalComp], filename: &str) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `by_id` is never read
[INFO] [stdout]   --> src/models/champions.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ChampionPool {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 17 |     pub by_id: HashMap<ChampionId, Champion>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChampionPool` 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 `effects` is never read
[INFO] [stdout]   --> src/models/champions.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Trait {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 37 |     pub name: String,
[INFO] [stdout] 38 |     pub effects: Vec<TraitEffect>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Trait` 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 `min_units` is never read
[INFO] [stdout]   --> src/models/champions.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct TraitEffect {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 43 |     #[serde(rename = "minUnits")]
[INFO] [stdout] 44 |     pub min_units: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TraitEffect` 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: struct `OptimalComp` is never constructed
[INFO] [stdout]   --> src/models/champions.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct OptimalComp {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraitActivation` is never constructed
[INFO] [stdout]   --> src/models/champions.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct TraitActivation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `champion_pool` and `traits` are never read
[INFO] [stdout]  --> src/models/state.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Context {
[INFO] [stdout]   |            ------- fields in this struct
[INFO] [stdout] 7 |     pub champion_pool: Arc<ChampionPool>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] 8 |     pub traits: Arc<Vec<Trait>>,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Context` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get` is never used
[INFO] [stdout]   --> src/models/state.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn get() -> &'static Context {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_optimal_comp_with_requirements` is never used
[INFO] [stdout]  --> src/optimiser/constrained_finder.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn find_optimal_comp_with_requirements(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_optimal_comp_greedy` is never used
[INFO] [stdout]  --> src/optimiser/greedy.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn find_optimal_comp_greedy(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_combined_score` is never used
[INFO] [stdout]   --> src/optimiser/greedy.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn calculate_combined_score(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_near_breakpoint` is never used
[INFO] [stdout]    --> src/optimiser/greedy.rs:101:4
[INFO] [stdout]     |
[INFO] [stdout] 101 | fn is_near_breakpoint(count: usize, trait_def: &Trait) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_trait_activations` is never used
[INFO] [stdout]  --> src/optimiser/trait_calc/trait_activation.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn calculate_trait_activations(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/selector/trait_selector.rs:104:29
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn render_main_text(&self) -> Line {
[INFO] [stdout]     |                             ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn render_main_text(&self) -> Line<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/selector/trait_selector.rs:121:32
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn render_editing_text(&self) -> Line {
[INFO] [stdout]     |                                ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn render_editing_text(&self) -> Line<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] running `Command { std: "docker" "inspect" "f2280416dbfc1bdd0080217ac0d0052673f76073ce6af5a5b2cfc6346bb0e743", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2280416dbfc1bdd0080217ac0d0052673f76073ce6af5a5b2cfc6346bb0e743", kill_on_drop: false }`
[INFO] [stdout] f2280416dbfc1bdd0080217ac0d0052673f76073ce6af5a5b2cfc6346bb0e743
