[INFO] cloning repository https://github.com/elementalcollision/Drug-Discovery-Idle [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/elementalcollision/Drug-Discovery-Idle" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felementalcollision%2FDrug-Discovery-Idle", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felementalcollision%2FDrug-Discovery-Idle'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b018be9fab3f4403c7aa6c4e2bc9df0c564c8773 [INFO] testing elementalcollision/Drug-Discovery-Idle against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felementalcollision%2FDrug-Discovery-Idle" "/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/elementalcollision/Drug-Discovery-Idle [INFO] finished tweaking git repo https://github.com/elementalcollision/Drug-Discovery-Idle [INFO] tweaked toml for git repo https://github.com/elementalcollision/Drug-Discovery-Idle written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/elementalcollision/Drug-Discovery-Idle on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/elementalcollision/Drug-Discovery-Idle 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded deranged v0.4.1 [INFO] [stderr] Downloaded actix-cors v0.6.4 [INFO] [stderr] Downloaded actix-web v4.3.1 [INFO] [stderr] Downloaded tokio v1.44.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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ccbe31dab5f7be65b2e020689e1bacd7e010f672e06cb0bfa37146404ba11e12 [INFO] running `Command { std: "docker" "start" "-a" "ccbe31dab5f7be65b2e020689e1bacd7e010f672e06cb0bfa37146404ba11e12", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ccbe31dab5f7be65b2e020689e1bacd7e010f672e06cb0bfa37146404ba11e12", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ccbe31dab5f7be65b2e020689e1bacd7e010f672e06cb0bfa37146404ba11e12", kill_on_drop: false }` [INFO] [stdout] ccbe31dab5f7be65b2e020689e1bacd7e010f672e06cb0bfa37146404ba11e12 [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" "-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 906ca39b6b28eb516446fb5bf64be42c99d76a0871d345f288c2181574e468e6 [INFO] running `Command { std: "docker" "start" "-a" "906ca39b6b28eb516446fb5bf64be42c99d76a0871d345f288c2181574e468e6", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling smallvec v1.14.0 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling cc v1.2.17 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling indexmap v2.8.0 [INFO] [stderr] Compiling deranged v0.4.1 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling miniz_oxide v0.8.5 [INFO] [stderr] Compiling ahash v0.7.8 [INFO] [stderr] Compiling actix-router v0.5.3 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling socket2 v0.4.10 [INFO] [stderr] Compiling flate2 v1.1.1 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling humantime v2.2.0 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling http-range v0.1.5 [INFO] [stderr] Compiling zstd-sys v2.0.15+zstd.1.5.7 [INFO] [stderr] Compiling askama_escape v0.10.3 [INFO] [stderr] Compiling env_logger v0.10.2 [INFO] [stderr] Compiling cookie v0.16.2 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Compiling tokio v1.44.1 [INFO] [stderr] Compiling actix-macros v0.2.4 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling derive_more v0.99.19 [INFO] [stderr] Compiling actix-web-codegen v4.3.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.7.5 [INFO] [stderr] Compiling zerovec v0.10.4 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling icu_collections v1.5.0 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling derive_more v2.0.1 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling icu_properties v1.5.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling chrono v0.4.40 [INFO] [stderr] Compiling uuid v1.16.0 [INFO] [stderr] Compiling tokio-util v0.7.14 [INFO] [stderr] Compiling actix-rt v2.10.0 [INFO] [stderr] Compiling actix-codec v0.5.2 [INFO] [stderr] Compiling h2 v0.3.26 [INFO] [stderr] Compiling actix-server v2.5.1 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling actix-http v3.10.0 [INFO] [stderr] Compiling actix-web v4.3.1 [INFO] [stderr] Compiling actix-cors v0.6.4 [INFO] [stderr] Compiling actix-files v0.6.2 [INFO] [stderr] Compiling drug-discovery-idle v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/api/game_routes.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use log::{info, error}; [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 variable: `current_era` [INFO] [stdout] --> src/api/game_routes.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | let current_era = state.research_tree.current_era.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_era` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/api/game_routes.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | state.action_manager.start_action(action.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 69 | let _ = state.action_manager.start_action(action.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `drug_discovery_idle::api` [INFO] [stdout] --> src/bin/web.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use drug_discovery_idle::api; [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: `error` [INFO] [stdout] --> src/api/game_routes.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use log::{info, error}; [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 variable: `current_era` [INFO] [stdout] --> src/api/game_routes.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | let current_era = state.research_tree.current_era.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_era` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/state.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl GameState { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 53 | pub fn new(player_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn update(&mut self, elapsed_real_seconds: f64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn add_starter_research_projects(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn start_research(&mut self, research_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn apply_research_rewards(&mut self, project: &ResearchProject) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn discover_new_drug(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn start_drug_trial(&mut self, drug_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn collect_resources(&mut self) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | pub fn get_completed_research(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_completed_drug_trials(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | pub fn get_resource_milestones(&self) -> Vec<(String, i64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `state` and `last_tick` are never read [INFO] [stdout] --> src/game/engine.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct GameEngine { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 10 | state: Arc>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | last_tick: Instant, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/engine.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl GameEngine { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(state: GameState) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn get_state(&self) -> Arc> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn check_events_separate(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn process_completed_research(&mut self, completed_research: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | fn process_completed_trials(&mut self, completed_trials: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | fn process_resource_milestones(&mut self, milestones: Vec<(String, i64)>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn start_tick_loop(engine: Arc>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn get_events(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub fn acknowledge_event(&mut self, event_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub fn start_research(&self, research_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn start_drug_trial(&self, drug_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn collect_resources(&self) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `acknowledge` is never used [INFO] [stdout] --> src/game/events.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl GameEvent { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn acknowledge(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResearchSystem` is never constructed [INFO] [stdout] --> src/game/research/research_system.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ResearchSystem { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/research/research_system.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl ResearchSystem { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn update(&mut self, elapsed_seconds: f64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn start_research_project(&mut self, project_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn create_research_project( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn invest_in_era(&mut self, research_points: u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn invest_in_discovery(&mut self, discovery_id: &str, research_points: u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn generate_era_research_projects(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 400 | fn generate_discovery_research_projects(&mut self, discovery_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 551 | pub fn get_active_projects(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 555 | pub fn get_completed_projects(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 559 | pub fn get_current_era(&self) -> ResearchEra { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 563 | pub fn get_current_era_progress(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 568 | pub fn get_available_discoveries(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 572 | pub fn get_discovery_details(&self, discovery_id: &str) -> Option<(&Discovery, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 577 | pub fn increase_research_rate(&mut self, amount: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HistoricalEvent` is never constructed [INFO] [stdout] --> src/game/lore/timeline.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct HistoricalEvent { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/game/lore/timeline.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl HistoricalEvent { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 15 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Timeline` is never constructed [INFO] [stdout] --> src/game/lore/timeline.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Timeline { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `initialize_events`, `get_events_by_era`, `get_events_by_year_range`, `get_events_by_key_figure`, and `get_major_events` are never used [INFO] [stdout] --> src/game/lore/timeline.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Timeline { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 39 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn initialize_events() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | pub fn get_events_by_era(&self, era: &ResearchEra) -> Vec<&HistoricalEvent> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 460 | pub fn get_events_by_year_range(&self, start_year: u16, end_year: u16) -> Vec<&HistoricalEvent> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 466 | pub fn get_events_by_key_figure(&self, key_figure: &str) -> Vec<&HistoricalEvent> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 478 | pub fn get_major_events(&self, min_impact: u8) -> Vec<&HistoricalEvent> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DiscoveryType` is never used [INFO] [stdout] --> src/game/lore/discoveries.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum DiscoveryType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Discovery` is never constructed [INFO] [stdout] --> src/game/lore/discoveries.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Discovery { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/game/lore/discoveries.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Discovery { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 32 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiscoveryProgress` is never constructed [INFO] [stdout] --> src/game/lore/discoveries.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct DiscoveryProgress { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `invest_research_points` are never used [INFO] [stdout] --> src/game/lore/discoveries.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl DiscoveryProgress { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 69 | pub fn new(discovery_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn invest_research_points(&mut self, points: u64, required_points: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiscoveryTree` is never constructed [INFO] [stdout] --> src/game/lore/discoveries.rs:100:12 [INFO] [stdout] | [INFO] [stdout] 100 | pub struct DiscoveryTree { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/lore/discoveries.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 105 | impl DiscoveryTree { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 106 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn initialize_discoveries() -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 384 | pub fn get_available_discoveries(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn invest_in_discovery(&mut self, discovery_id: &str, research_points: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | pub fn get_discovery_details(&self, discovery_id: &str) -> Option<(&Discovery, &DiscoveryProgress)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 446 | pub fn get_era_discoveries(&self, era: &ResearchEra) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 453 | pub fn get_milestone_discoveries(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 460 | pub fn get_research_bonus(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/game/lore/research_eras.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ResearchEra { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn description(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn year_range(&self) -> (u16, u16) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn key_technologies(&self) -> Vec<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn key_figures(&self) -> Vec<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn breakthrough_drugs(&self) -> Vec<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 257 | pub fn required_research_points(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn unlocks(&self) -> Vec<&'static str> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResearchEraProgress` is never constructed [INFO] [stdout] --> src/game/lore/research_eras.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 324 | pub struct ResearchEraProgress { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `invest_research_points`, `is_complete`, `unlock_technology`, and `add_discovery` are never used [INFO] [stdout] --> src/game/lore/research_eras.rs:334:12 [INFO] [stdout] | [INFO] [stdout] 333 | impl ResearchEraProgress { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 334 | pub fn new(era: ResearchEra) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 346 | pub fn invest_research_points(&mut self, points: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | pub fn is_complete(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 364 | pub fn unlock_technology(&mut self, technology: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 370 | pub fn add_discovery(&mut self, discovery: String) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResearchTimeline` is never constructed [INFO] [stdout] --> src/game/lore/research_eras.rs:378:12 [INFO] [stdout] | [INFO] [stdout] 378 | pub struct ResearchTimeline { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `invest_in_current_era`, `get_current_era_progress`, `get_unlocked_eras`, `unlock_technology`, and `add_discovery` are never used [INFO] [stdout] --> src/game/lore/research_eras.rs:408:12 [INFO] [stdout] | [INFO] [stdout] 407 | impl ResearchTimeline { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 408 | pub fn invest_in_current_era(&mut self, research_points: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub fn get_current_era_progress(&self) -> Option<&ResearchEraProgress> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn get_unlocked_eras(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 441 | pub fn unlock_technology(&mut self, era: &ResearchEra, technology: String) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | pub fn add_discovery(&mut self, era: &ResearchEra, discovery: String) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_completed_actions` is never used [INFO] [stdout] --> src/game/gameplay/actions.rs:636:12 [INFO] [stdout] | [INFO] [stdout] 576 | impl ActionManager { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 636 | pub fn get_completed_actions(&self) -> Vec<(GameAction, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add_experience`, `add_resource`, and `get_resource` are never used [INFO] [stdout] --> src/models/player.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Player { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn add_experience(&mut self, amount: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn add_resource(&mut self, resource_type: &str, amount: i64) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_resource(&self, resource_type: &str) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `advance_trial_phase`, `get_property_value`, `discover_property`, `add_research_progress`, and `calculate_market_value` are never used [INFO] [stdout] --> src/models/drug.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Drug { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 52 | pub fn new(id: String, name: String, formula: String, drug_class: DrugClass) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn advance_trial_phase(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn get_property_value(&self, property_name: &str) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn discover_property(&mut self, property_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn add_research_progress(&mut self, amount: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | fn calculate_market_value(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `start`, `update_progress`, `get_rewards`, and `increase_success_chance` are never used [INFO] [stdout] --> src/models/research.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl ResearchProject { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 42 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn start(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn update_progress(&mut self, additional_seconds: u32) -> ResearchStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn get_rewards(&self) -> Result<&HashMap, String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn increase_success_chance(&mut self, amount: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/api/game_routes.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | state.action_manager.start_action(action.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 69 | let _ = state.action_manager.start_action(action.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 46s [INFO] running `Command { std: "docker" "inspect" "906ca39b6b28eb516446fb5bf64be42c99d76a0871d345f288c2181574e468e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "906ca39b6b28eb516446fb5bf64be42c99d76a0871d345f288c2181574e468e6", kill_on_drop: false }` [INFO] [stdout] 906ca39b6b28eb516446fb5bf64be42c99d76a0871d345f288c2181574e468e6 [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" "-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 701c63bb5edcf7dd94f7baab225a2e173b0782209e965404b59d1e9230bfeadd [INFO] running `Command { std: "docker" "start" "-a" "701c63bb5edcf7dd94f7baab225a2e173b0782209e965404b59d1e9230bfeadd", kill_on_drop: false }` [INFO] [stderr] Compiling drug-discovery-idle v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/api/game_routes.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use log::{info, error}; [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 variable: `current_era` [INFO] [stdout] --> src/api/game_routes.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | let current_era = state.research_tree.current_era.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_era` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/api/game_routes.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | state.action_manager.start_action(action.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 69 | let _ = state.action_manager.start_action(action.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `drug_discovery_idle::api` [INFO] [stdout] --> src/bin/web.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use drug_discovery_idle::api; [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: `error` [INFO] [stdout] --> src/api/game_routes.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use log::{info, error}; [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: `error` [INFO] [stdout] --> src/api/game_routes.rs:5:17 [INFO] [stdout] | [INFO] [stdout] 5 | use log::{info, error}; [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 variable: `current_era` [INFO] [stdout] --> src/api/game_routes.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | let current_era = state.research_tree.current_era.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_era` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_era` [INFO] [stdout] --> src/api/game_routes.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | let current_era = state.research_tree.current_era.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_era` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/api/game_routes.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | state.action_manager.start_action(action.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 69 | let _ = state.action_manager.start_action(action.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/state.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl GameState { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 53 | pub fn new(player_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn update(&mut self, elapsed_real_seconds: f64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn add_starter_research_projects(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn start_research(&mut self, research_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn apply_research_rewards(&mut self, project: &ResearchProject) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn discover_new_drug(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn start_drug_trial(&mut self, drug_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn collect_resources(&mut self) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 309 | pub fn get_completed_research(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | pub fn get_completed_drug_trials(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | pub fn get_resource_milestones(&self) -> Vec<(String, i64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `state` and `last_tick` are never read [INFO] [stdout] --> src/game/engine.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct GameEngine { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 10 | state: Arc>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | last_tick: Instant, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/engine.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl GameEngine { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new(state: GameState) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn get_state(&self) -> Arc> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn check_events_separate(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn process_completed_research(&mut self, completed_research: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | fn process_completed_trials(&mut self, completed_trials: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | fn process_resource_milestones(&mut self, milestones: Vec<(String, i64)>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn start_tick_loop(engine: Arc>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn get_events(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub fn acknowledge_event(&mut self, event_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub fn start_research(&self, research_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn start_drug_trial(&self, drug_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn collect_resources(&self) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `acknowledge` is never used [INFO] [stdout] --> src/game/events.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl GameEvent { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn acknowledge(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResearchSystem` is never constructed [INFO] [stdout] --> src/game/research/research_system.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ResearchSystem { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/research/research_system.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl ResearchSystem { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn update(&mut self, elapsed_seconds: f64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn start_research_project(&mut self, project_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn create_research_project( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn invest_in_era(&mut self, research_points: u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn invest_in_discovery(&mut self, discovery_id: &str, research_points: u64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn generate_era_research_projects(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 400 | fn generate_discovery_research_projects(&mut self, discovery_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 551 | pub fn get_active_projects(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 555 | pub fn get_completed_projects(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 559 | pub fn get_current_era(&self) -> ResearchEra { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 563 | pub fn get_current_era_progress(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 568 | pub fn get_available_discoveries(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 572 | pub fn get_discovery_details(&self, discovery_id: &str) -> Option<(&Discovery, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 577 | pub fn increase_research_rate(&mut self, amount: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HistoricalEvent` is never constructed [INFO] [stdout] --> src/game/lore/timeline.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct HistoricalEvent { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/game/lore/timeline.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl HistoricalEvent { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 15 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Timeline` is never constructed [INFO] [stdout] --> src/game/lore/timeline.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct Timeline { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `initialize_events`, `get_events_by_era`, `get_events_by_year_range`, `get_events_by_key_figure`, and `get_major_events` are never used [INFO] [stdout] --> src/game/lore/timeline.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Timeline { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 39 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn initialize_events() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | pub fn get_events_by_era(&self, era: &ResearchEra) -> Vec<&HistoricalEvent> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 460 | pub fn get_events_by_year_range(&self, start_year: u16, end_year: u16) -> Vec<&HistoricalEvent> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 466 | pub fn get_events_by_key_figure(&self, key_figure: &str) -> Vec<&HistoricalEvent> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 478 | pub fn get_major_events(&self, min_impact: u8) -> Vec<&HistoricalEvent> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DiscoveryType` is never used [INFO] [stdout] --> src/game/lore/discoveries.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum DiscoveryType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Discovery` is never constructed [INFO] [stdout] --> src/game/lore/discoveries.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Discovery { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/game/lore/discoveries.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Discovery { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 32 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiscoveryProgress` is never constructed [INFO] [stdout] --> src/game/lore/discoveries.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct DiscoveryProgress { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `invest_research_points` are never used [INFO] [stdout] --> src/game/lore/discoveries.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl DiscoveryProgress { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 69 | pub fn new(discovery_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn invest_research_points(&mut self, points: u64, required_points: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiscoveryTree` is never constructed [INFO] [stdout] --> src/game/lore/discoveries.rs:100:12 [INFO] [stdout] | [INFO] [stdout] 100 | pub struct DiscoveryTree { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/game/lore/discoveries.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 105 | impl DiscoveryTree { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 106 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn initialize_discoveries() -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 384 | pub fn get_available_discoveries(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn invest_in_discovery(&mut self, discovery_id: &str, research_points: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | pub fn get_discovery_details(&self, discovery_id: &str) -> Option<(&Discovery, &DiscoveryProgress)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 446 | pub fn get_era_discoveries(&self, era: &ResearchEra) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 453 | pub fn get_milestone_discoveries(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 460 | pub fn get_research_bonus(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/game/lore/research_eras.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ResearchEra { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn description(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn year_range(&self) -> (u16, u16) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn key_technologies(&self) -> Vec<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn key_figures(&self) -> Vec<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn breakthrough_drugs(&self) -> Vec<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 257 | pub fn required_research_points(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn unlocks(&self) -> Vec<&'static str> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResearchEraProgress` is never constructed [INFO] [stdout] --> src/game/lore/research_eras.rs:324:12 [INFO] [stdout] | [INFO] [stdout] 324 | pub struct ResearchEraProgress { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `invest_research_points`, `is_complete`, `unlock_technology`, and `add_discovery` are never used [INFO] [stdout] --> src/game/lore/research_eras.rs:334:12 [INFO] [stdout] | [INFO] [stdout] 333 | impl ResearchEraProgress { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 334 | pub fn new(era: ResearchEra) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 346 | pub fn invest_research_points(&mut self, points: u64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | pub fn is_complete(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 364 | pub fn unlock_technology(&mut self, technology: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 370 | pub fn add_discovery(&mut self, discovery: String) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResearchTimeline` is never constructed [INFO] [stdout] --> src/game/lore/research_eras.rs:378:12 [INFO] [stdout] | [INFO] [stdout] 378 | pub struct ResearchTimeline { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `invest_in_current_era`, `get_current_era_progress`, `get_unlocked_eras`, `unlock_technology`, and `add_discovery` are never used [INFO] [stdout] --> src/game/lore/research_eras.rs:408:12 [INFO] [stdout] | [INFO] [stdout] 407 | impl ResearchTimeline { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 408 | pub fn invest_in_current_era(&mut self, research_points: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub fn get_current_era_progress(&self) -> Option<&ResearchEraProgress> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn get_unlocked_eras(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 441 | pub fn unlock_technology(&mut self, era: &ResearchEra, technology: String) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | pub fn add_discovery(&mut self, era: &ResearchEra, discovery: String) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_completed_actions` is never used [INFO] [stdout] --> src/game/gameplay/actions.rs:636:12 [INFO] [stdout] | [INFO] [stdout] 576 | impl ActionManager { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 636 | pub fn get_completed_actions(&self) -> Vec<(GameAction, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add_experience`, `add_resource`, and `get_resource` are never used [INFO] [stdout] --> src/models/player.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Player { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn add_experience(&mut self, amount: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn add_resource(&mut self, resource_type: &str, amount: i64) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_resource(&self, resource_type: &str) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `advance_trial_phase`, `get_property_value`, `discover_property`, `add_research_progress`, and `calculate_market_value` are never used [INFO] [stdout] --> src/models/drug.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Drug { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 52 | pub fn new(id: String, name: String, formula: String, drug_class: DrugClass) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn advance_trial_phase(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn get_property_value(&self, property_name: &str) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn discover_property(&mut self, property_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn add_research_progress(&mut self, amount: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | fn calculate_market_value(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `start`, `update_progress`, `get_rewards`, and `increase_success_chance` are never used [INFO] [stdout] --> src/models/research.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl ResearchProject { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 42 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn start(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn update_progress(&mut self, additional_seconds: u32) -> ResearchStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn get_rewards(&self) -> Result<&HashMap, String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn increase_success_chance(&mut self, amount: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/api/game_routes.rs:69:17 [INFO] [stdout] | [INFO] [stdout] 69 | state.action_manager.start_action(action.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 69 | let _ = state.action_manager.start_action(action.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.83s [INFO] running `Command { std: "docker" "inspect" "701c63bb5edcf7dd94f7baab225a2e173b0782209e965404b59d1e9230bfeadd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "701c63bb5edcf7dd94f7baab225a2e173b0782209e965404b59d1e9230bfeadd", kill_on_drop: false }` [INFO] [stdout] 701c63bb5edcf7dd94f7baab225a2e173b0782209e965404b59d1e9230bfeadd [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" "-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1a4897454c2339cd2c5a43ee41eb1e5bb1d881b6f597cbd5b46ef8377c66155e [INFO] running `Command { std: "docker" "start" "-a" "1a4897454c2339cd2c5a43ee41eb1e5bb1d881b6f597cbd5b46ef8377c66155e", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `error` [INFO] [stderr] --> src/api/game_routes.rs:5:17 [INFO] [stderr] | [INFO] [stderr] 5 | use log::{info, error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_era` [INFO] [stderr] --> src/api/game_routes.rs:173:13 [INFO] [stderr] | [INFO] [stderr] 173 | let current_era = state.research_tree.current_era.clone(); [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_era` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/api/game_routes.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | state.action_manager.start_action(action.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 69 | let _ = state.action_manager.start_action(action.clone()); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `drug-discovery-idle` (lib) generated 3 warnings (run `cargo fix --lib -p drug-discovery-idle` to apply 1 suggestion) [INFO] [stderr] warning: `drug-discovery-idle` (lib test) generated 3 warnings (3 duplicates) [INFO] [stderr] warning: unused import: `drug_discovery_idle::api` [INFO] [stderr] --> src/bin/web.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use drug_discovery_idle::api; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/game/state.rs:53:12 [INFO] [stderr] | [INFO] [stderr] 52 | impl GameState { [INFO] [stderr] | -------------- associated items in this implementation [INFO] [stderr] 53 | pub fn new(player_id: String) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 63 | pub fn update(&mut self, elapsed_real_seconds: f64) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 103 | pub fn add_starter_research_projects(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 129 | pub fn start_research(&mut self, research_id: &str) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 151 | pub fn apply_research_rewards(&mut self, project: &ResearchProject) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 192 | pub fn discover_new_drug(&mut self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 239 | pub fn start_drug_trial(&mut self, drug_id: &str) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 297 | pub fn collect_resources(&mut self) -> HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 309 | pub fn get_completed_research(&mut self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 322 | pub fn get_completed_drug_trials(&mut self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 336 | pub fn get_resource_milestones(&self) -> Vec<(String, i64)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `state` and `last_tick` are never read [INFO] [stderr] --> src/game/engine.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct GameEngine { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] 10 | state: Arc>, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 11 | last_tick: Instant, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/game/engine.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 17 | impl GameEngine { [INFO] [stderr] | --------------- associated items in this implementation [INFO] [stderr] 18 | pub fn new(state: GameState) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | pub fn get_state(&self) -> Arc> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 31 | pub fn update(&mut self) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 58 | fn check_events_separate(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 79 | fn process_completed_research(&mut self, completed_research: Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 89 | fn process_completed_trials(&mut self, completed_trials: Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 99 | fn process_resource_milestones(&mut self, milestones: Vec<(String, i64)>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 115 | pub fn start_tick_loop(engine: Arc>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 221 | pub fn get_events(&self) -> &Vec { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 225 | pub fn acknowledge_event(&mut self, event_id: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 229 | pub fn start_research(&self, research_id: &str) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 237 | pub fn start_drug_trial(&self, drug_id: &str) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 245 | pub fn collect_resources(&self) -> Result, String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `acknowledge` is never used [INFO] [stderr] --> src/game/events.rs:35:12 [INFO] [stderr] | [INFO] [stderr] 24 | impl GameEvent { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 35 | pub fn acknowledge(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ResearchSystem` is never constructed [INFO] [stderr] --> src/game/research/research_system.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct ResearchSystem { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/game/research/research_system.rs:38:12 [INFO] [stderr] | [INFO] [stderr] 37 | impl ResearchSystem { [INFO] [stderr] | ------------------- associated items in this implementation [INFO] [stderr] 38 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 42 | pub fn update(&mut self, elapsed_seconds: f64) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 72 | pub fn start_research_project(&mut self, project_id: &str) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 80 | pub fn create_research_project( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 106 | pub fn invest_in_era(&mut self, research_points: u64) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 127 | pub fn invest_in_discovery(&mut self, discovery_id: &str, research_points: u64) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 165 | fn generate_era_research_projects(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 400 | fn generate_discovery_research_projects(&mut self, discovery_id: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 551 | pub fn get_active_projects(&self) -> &HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 555 | pub fn get_completed_projects(&self) -> &HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 559 | pub fn get_current_era(&self) -> ResearchEra { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 563 | pub fn get_current_era_progress(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 568 | pub fn get_available_discoveries(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 572 | pub fn get_discovery_details(&self, discovery_id: &str) -> Option<(&Discovery, f64)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 577 | pub fn increase_research_rate(&mut self, amount: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `HistoricalEvent` is never constructed [INFO] [stderr] --> src/game/lore/timeline.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct HistoricalEvent { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/game/lore/timeline.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 14 | impl HistoricalEvent { [INFO] [stderr] | -------------------- associated function in this implementation [INFO] [stderr] 15 | pub fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Timeline` is never constructed [INFO] [stderr] --> src/game/lore/timeline.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 34 | pub struct Timeline { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `initialize_events`, `get_events_by_era`, `get_events_by_year_range`, `get_events_by_key_figure`, and `get_major_events` are never used [INFO] [stderr] --> src/game/lore/timeline.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 38 | impl Timeline { [INFO] [stderr] | ------------- associated items in this implementation [INFO] [stderr] 39 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 45 | fn initialize_events() -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 454 | pub fn get_events_by_era(&self, era: &ResearchEra) -> Vec<&HistoricalEvent> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 460 | pub fn get_events_by_year_range(&self, start_year: u16, end_year: u16) -> Vec<&HistoricalEvent> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 466 | pub fn get_events_by_key_figure(&self, key_figure: &str) -> Vec<&HistoricalEvent> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 478 | pub fn get_major_events(&self, min_impact: u8) -> Vec<&HistoricalEvent> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `DiscoveryType` is never used [INFO] [stderr] --> src/game/lore/discoveries.rs:7:10 [INFO] [stderr] | [INFO] [stderr] 7 | pub enum DiscoveryType { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Discovery` is never constructed [INFO] [stderr] --> src/game/lore/discoveries.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 16 | pub struct Discovery { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/game/lore/discoveries.rs:32:12 [INFO] [stderr] | [INFO] [stderr] 31 | impl Discovery { [INFO] [stderr] | -------------- associated function in this implementation [INFO] [stderr] 32 | pub fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DiscoveryProgress` is never constructed [INFO] [stderr] --> src/game/lore/discoveries.rs:60:12 [INFO] [stderr] | [INFO] [stderr] 60 | pub struct DiscoveryProgress { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `invest_research_points` are never used [INFO] [stderr] --> src/game/lore/discoveries.rs:69:12 [INFO] [stderr] | [INFO] [stderr] 68 | impl DiscoveryProgress { [INFO] [stderr] | ---------------------- associated items in this implementation [INFO] [stderr] 69 | pub fn new(discovery_id: String) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 79 | pub fn invest_research_points(&mut self, points: u64, required_points: u64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DiscoveryTree` is never constructed [INFO] [stderr] --> src/game/lore/discoveries.rs:100:12 [INFO] [stderr] | [INFO] [stderr] 100 | pub struct DiscoveryTree { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/game/lore/discoveries.rs:106:12 [INFO] [stderr] | [INFO] [stderr] 105 | impl DiscoveryTree { [INFO] [stderr] | ------------------ associated items in this implementation [INFO] [stderr] 106 | pub fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 131 | fn initialize_discoveries() -> HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 384 | pub fn get_available_discoveries(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 408 | pub fn invest_in_discovery(&mut self, discovery_id: &str, research_points: u64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 438 | pub fn get_discovery_details(&self, discovery_id: &str) -> Option<(&Discovery, &DiscoveryProgress)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 446 | pub fn get_era_discoveries(&self, era: &ResearchEra) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 453 | pub fn get_milestone_discoveries(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 460 | pub fn get_research_bonus(&self) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/game/lore/research_eras.rs:28:12 [INFO] [stderr] | [INFO] [stderr] 15 | impl ResearchEra { [INFO] [stderr] | ---------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 28 | pub fn description(&self) -> &'static str { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 53 | pub fn year_range(&self) -> (u16, u16) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 65 | pub fn key_technologies(&self) -> Vec<&'static str> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 125 | pub fn key_figures(&self) -> Vec<&'static str> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 185 | pub fn breakthrough_drugs(&self) -> Vec<&'static str> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 257 | pub fn required_research_points(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 269 | pub fn unlocks(&self) -> Vec<&'static str> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ResearchEraProgress` is never constructed [INFO] [stderr] --> src/game/lore/research_eras.rs:324:12 [INFO] [stderr] | [INFO] [stderr] 324 | pub struct ResearchEraProgress { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `invest_research_points`, `is_complete`, `unlock_technology`, and `add_discovery` are never used [INFO] [stderr] --> src/game/lore/research_eras.rs:334:12 [INFO] [stderr] | [INFO] [stderr] 333 | impl ResearchEraProgress { [INFO] [stderr] | ------------------------ associated items in this implementation [INFO] [stderr] 334 | pub fn new(era: ResearchEra) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 346 | pub fn invest_research_points(&mut self, points: u64) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 360 | pub fn is_complete(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 364 | pub fn unlock_technology(&mut self, technology: String) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 370 | pub fn add_discovery(&mut self, discovery: String) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ResearchTimeline` is never constructed [INFO] [stderr] --> src/game/lore/research_eras.rs:378:12 [INFO] [stderr] | [INFO] [stderr] 378 | pub struct ResearchTimeline { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `invest_in_current_era`, `get_current_era_progress`, `get_unlocked_eras`, `unlock_technology`, and `add_discovery` are never used [INFO] [stderr] --> src/game/lore/research_eras.rs:408:12 [INFO] [stderr] | [INFO] [stderr] 407 | impl ResearchTimeline { [INFO] [stderr] | --------------------- methods in this implementation [INFO] [stderr] 408 | pub fn invest_in_current_era(&mut self, research_points: u64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 430 | pub fn get_current_era_progress(&self) -> Option<&ResearchEraProgress> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 434 | pub fn get_unlocked_eras(&self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 441 | pub fn unlock_technology(&mut self, era: &ResearchEra, technology: String) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 454 | pub fn add_discovery(&mut self, era: &ResearchEra, discovery: String) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_completed_actions` is never used [INFO] [stderr] --> src/game/gameplay/actions.rs:636:12 [INFO] [stderr] | [INFO] [stderr] 576 | impl ActionManager { [INFO] [stderr] | ------------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 636 | pub fn get_completed_actions(&self) -> Vec<(GameAction, u32)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `add_experience`, `add_resource`, and `get_resource` are never used [INFO] [stderr] --> src/models/player.rs:27:12 [INFO] [stderr] | [INFO] [stderr] 14 | impl Player { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 27 | pub fn add_experience(&mut self, amount: u32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 46 | pub fn add_resource(&mut self, resource_type: &str, amount: i64) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 67 | pub fn get_resource(&self, resource_type: &str) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `advance_trial_phase`, `get_property_value`, `discover_property`, `add_research_progress`, and `calculate_market_value` are never used [INFO] [stderr] --> src/models/drug.rs:52:12 [INFO] [stderr] | [INFO] [stderr] 51 | impl Drug { [INFO] [stderr] | --------- associated items in this implementation [INFO] [stderr] 52 | pub fn new(id: String, name: String, formula: String, drug_class: DrugClass) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 96 | pub fn advance_trial_phase(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 134 | pub fn get_property_value(&self, property_name: &str) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 141 | pub fn discover_property(&mut self, property_name: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 151 | pub fn add_research_progress(&mut self, amount: f64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 163 | fn calculate_market_value(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `start`, `update_progress`, `get_rewards`, and `increase_success_chance` are never used [INFO] [stderr] --> src/models/research.rs:42:12 [INFO] [stderr] | [INFO] [stderr] 41 | impl ResearchProject { [INFO] [stderr] | -------------------- associated items in this implementation [INFO] [stderr] 42 | pub fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 97 | pub fn start(&mut self) -> Result<(), String> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 116 | pub fn update_progress(&mut self, additional_seconds: u32) -> ResearchStatus { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 143 | pub fn get_rewards(&self) -> Result<&HashMap, String> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 150 | pub fn increase_success_chance(&mut self, amount: f64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `drug-discovery-idle` (bin "web" test) generated 1 warning (run `cargo fix --bin "web" --tests` to apply 1 suggestion) [INFO] [stderr] warning: `drug-discovery-idle` (bin "drug-discovery-idle" test) generated 29 warnings (3 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/drug_discovery_idle-2afc43be57b87730) [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 unittests src/bin/cli.rs (/opt/rustwide/target/debug/deps/cli-3036e58237ec4c34) [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 unittests src/main.rs (/opt/rustwide/target/debug/deps/drug_discovery_idle-39695751bf334690) [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 unittests src/bin/web.rs (/opt/rustwide/target/debug/deps/web-2bc083591b9f3aa9) [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] Doc-tests drug_discovery_idle [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "1a4897454c2339cd2c5a43ee41eb1e5bb1d881b6f597cbd5b46ef8377c66155e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1a4897454c2339cd2c5a43ee41eb1e5bb1d881b6f597cbd5b46ef8377c66155e", kill_on_drop: false }` [INFO] [stdout] 1a4897454c2339cd2c5a43ee41eb1e5bb1d881b6f597cbd5b46ef8377c66155e