[INFO] cloning repository https://github.com/KashN9sh/strategy [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KashN9sh/strategy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKashN9sh%2Fstrategy", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKashN9sh%2Fstrategy'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 458ac2d4fb036f841d722d32edfb17af254b3d53 [INFO] checking KashN9sh/strategy against try#51de2e90f91fdec6cf64ff542a4e15b9c177a797 for pr-147294 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKashN9sh%2Fstrategy" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/KashN9sh/strategy [INFO] finished tweaking git repo https://github.com/KashN9sh/strategy [INFO] tweaked toml for git repo https://github.com/KashN9sh/strategy written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/KashN9sh/strategy on toolchain 51de2e90f91fdec6cf64ff542a4e15b9c177a797 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+51de2e90f91fdec6cf64ff542a4e15b9c177a797" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/KashN9sh/strategy 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" "+51de2e90f91fdec6cf64ff542a4e15b9c177a797" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+51de2e90f91fdec6cf64ff542a4e15b9c177a797" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 36486b6a3cbd5f177f7172d2d49120c8e1f78ccc16048b636b7520c6253cde9c [INFO] running `Command { std: "docker" "start" "-a" "36486b6a3cbd5f177f7172d2d49120c8e1f78ccc16048b636b7520c6253cde9c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "36486b6a3cbd5f177f7172d2d49120c8e1f78ccc16048b636b7520c6253cde9c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "36486b6a3cbd5f177f7172d2d49120c8e1f78ccc16048b636b7520c6253cde9c", kill_on_drop: false }` [INFO] [stdout] 36486b6a3cbd5f177f7172d2d49120c8e1f78ccc16048b636b7520c6253cde9c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+51de2e90f91fdec6cf64ff542a4e15b9c177a797" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 060b69a677e9258191195e2e36644bc6a08469529ac0e6e794021b63e637f650 [INFO] running `Command { std: "docker" "start" "-a" "060b69a677e9258191195e2e36644bc6a08469529ac0e6e794021b63e637f650", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Checking libloading v0.8.8 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Compiling cc v1.2.32 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Compiling wayland-client v0.31.11 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling wayland-sys v0.31.7 [INFO] [stderr] Compiling quick-xml v0.37.5 [INFO] [stderr] Checking bytemuck v1.23.2 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling ash v0.37.3+1.3.251 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling wayland-scanner v0.31.7 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Compiling khronos-egl v6.0.0 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Checking codespan-reporting v0.11.1 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking indexmap v2.10.0 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking polling v3.10.0 [INFO] [stderr] Compiling wgpu-hal v0.19.5 [INFO] [stderr] Checking spirv v0.3.0+sdk-1.3.268.0 [INFO] [stderr] Checking gpu-descriptor-types v0.1.2 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking libloading v0.7.4 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Compiling built v0.7.7 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking slab v0.4.11 [INFO] [stderr] Checking hexf-parse v0.2.1 [INFO] [stderr] Checking unicode-xid v0.2.6 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Checking gpu-descriptor v0.2.4 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Compiling rav1e v0.7.1 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Compiling wayland-backend v0.3.11 [INFO] [stderr] Compiling wgpu-core v0.19.4 [INFO] [stderr] Checking wgpu-types v0.19.2 [INFO] [stderr] Checking xcursor v0.3.10 [INFO] [stderr] Checking ttf-parser v0.25.1 [INFO] [stderr] Checking glow v0.13.1 [INFO] [stderr] Compiling smithay-client-toolkit v0.18.1 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Checking cursor-icon v1.2.0 [INFO] [stderr] Checking xkeysym v0.2.1 [INFO] [stderr] Checking renderdoc-sys v1.1.0 [INFO] [stderr] Checking arrayref v0.3.9 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking maybe-rayon v0.1.1 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking safe_arch v0.7.4 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling wgpu v0.19.4 [INFO] [stderr] Checking memmap2 v0.9.7 [INFO] [stderr] Checking bitstream-io v2.6.0 [INFO] [stderr] Checking owned_ttf_parser v0.25.1 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.9 [INFO] [stderr] Checking quick-error v2.0.1 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking weezl v0.1.10 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking imgref v1.11.0 [INFO] [stderr] Checking ab_glyph v0.2.31 [INFO] [stderr] Checking wide v0.7.33 [INFO] [stderr] Checking loop9 v0.1.5 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking avif-serialize v0.8.5 [INFO] [stderr] Compiling winit v0.29.15 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking rgb v0.8.52 [INFO] [stderr] Checking as-raw-xcb-connection v1.0.1 [INFO] [stderr] Checking zune-core v0.4.12 [INFO] [stderr] Checking jpeg-decoder v0.3.2 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking winnow v0.7.12 [INFO] [stderr] Checking x11rb-protocol v0.13.1 [INFO] [stderr] Compiling serde_json v1.0.142 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking ultraviolet v0.9.2 [INFO] [stderr] Checking gif v0.13.3 [INFO] [stderr] Checking image-webp v0.2.3 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Checking exr v1.73.0 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking zune-jpeg v0.4.20 [INFO] [stderr] Checking wayland-protocols v0.31.2 [INFO] [stderr] Checking wayland-cursor v0.31.11 [INFO] [stderr] Checking toml_parser v1.0.2 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand_xorshift v0.3.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking toml_writer v1.0.2 [INFO] [stderr] Checking smol_str v0.2.2 [INFO] [stderr] Checking pollster v0.3.0 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking noise v0.9.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking glam v0.30.5 [INFO] [stderr] Checking wayland-protocols-wlr v0.2.0 [INFO] [stderr] Checking wayland-protocols-plasma v0.2.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling profiling-procmacros v1.0.17 [INFO] [stderr] Compiling equator-macro v0.4.2 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Checking profiling v1.0.17 [INFO] [stderr] Checking equator v0.4.2 [INFO] [stderr] Checking aligned-vec v0.6.4 [INFO] [stderr] Checking v_frame v0.3.9 [INFO] [stderr] Checking av1-grain v0.2.4 [INFO] [stderr] Checking x11rb v0.13.1 [INFO] [stderr] Checking naga v0.19.2 [INFO] [stderr] Checking calloop v0.12.4 [INFO] [stderr] Checking calloop-wayland-source v0.2.0 [INFO] [stderr] Checking sctk-adwaita v0.8.3 [INFO] [stderr] Checking serde_spanned v1.0.0 [INFO] [stderr] Checking toml_datetime v0.7.0 [INFO] [stderr] Checking toml v0.9.5 [INFO] [stderr] Checking ravif v0.11.20 [INFO] [stderr] Checking image v0.25.6 [INFO] [stderr] Checking pixels v0.15.0 [INFO] [stderr] Checking strategy v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `blit_sprite_alpha_scaled_tinted` [INFO] [stdout] --> src/render/tiles.rs:262:5 [INFO] [stdout] | [INFO] [stdout] 262 | blit_sprite_alpha_scaled_tinted, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/render/tiles.rs:296:5 [INFO] [stdout] | [INFO] [stdout] 296 | (((77*r + 150*g + 29*b) >> 8) as u8) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 296 - (((77*r + 150*g + 29*b) >> 8) as u8) [INFO] [stdout] 296 + ((77*r + 150*g + 29*b) >> 8) as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `spend_wood` [INFO] [stdout] --> src/ui_interaction.rs:5:109 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::types::{Building, BuildingKind, Citizen, Resources, WarehouseStore, CitizenState, building_cost, spend_wood}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ResourceKind` [INFO] [stdout] --> src/game.rs:3:80 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::types::{Building, BuildingKind, Citizen, Resources, WarehouseStore, ResourceKind, FoodPolicy}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::WeatherKind as WK` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::WeatherKind as WK; // доступ к типу для внешних вызовов [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:750:47 [INFO] [stdout] | [INFO] [stdout] 750 | ... let flicker = ( (t + (phase as f32)*0.001).sin() * 0.5 + 0.5 ); [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 750 - let flicker = ( (t + (phase as f32)*0.001).sin() * 0.5 + 0.5 ); [INFO] [stdout] 750 + let flicker = (t + (phase as f32)*0.001).sin() * 0.5 + 0.5 ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `blit_sprite_alpha_scaled_tinted` [INFO] [stdout] --> src/render/tiles.rs:262:5 [INFO] [stdout] | [INFO] [stdout] 262 | blit_sprite_alpha_scaled_tinted, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/render/tiles.rs:296:5 [INFO] [stdout] | [INFO] [stdout] 296 | (((77*r + 150*g + 29*b) >> 8) as u8) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 296 - (((77*r + 150*g + 29*b) >> 8) as u8) [INFO] [stdout] 296 + ((77*r + 150*g + 29*b) >> 8) as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `spend_wood` [INFO] [stdout] --> src/ui_interaction.rs:5:109 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::types::{Building, BuildingKind, Citizen, Resources, WarehouseStore, CitizenState, building_cost, spend_wood}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ResourceKind` [INFO] [stdout] --> src/game.rs:3:80 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::types::{Building, BuildingKind, Citizen, Resources, WarehouseStore, ResourceKind, FoodPolicy}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::WeatherKind as WK` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::WeatherKind as WK; // доступ к типу для внешних вызовов [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:750:47 [INFO] [stdout] | [INFO] [stdout] 750 | ... let flicker = ( (t + (phase as f32)*0.001).sin() * 0.5 + 0.5 ); [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 750 - let flicker = ( (t + (phase as f32)*0.001).sin() * 0.5 + 0.5 ); [INFO] [stdout] 750 + let flicker = (t + (phase as f32)*0.001).sin() * 0.5 + 0.5 ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1428:41 [INFO] [stdout] | [INFO] [stdout] 1428 | ... let x = rng.gen_range(0.0..width_i32 as f32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1429:41 [INFO] [stdout] | [INFO] [stdout] 1429 | ... let y = rng.gen_range(0.0..height_i32 as f32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1430:45 [INFO] [stdout] | [INFO] [stdout] 1430 | ... let speed = rng.gen_range(8.0..20.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1431:45 [INFO] [stdout] | [INFO] [stdout] 1431 | ... let angle = rng.gen_range(0.0..std::f32::consts::TAU); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1433:45 [INFO] [stdout] | [INFO] [stdout] 1433 | ... let phase = rng.gen_range(0.0..std::f32::consts::TAU); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1434:46 [INFO] [stdout] | [INFO] [stdout] 1434 | ... let life_s = rng.gen_range(6.0..14.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1530:24 [INFO] [stdout] | [INFO] [stdout] 1530 | let sec: f32 = rng.gen_range(base_min..base_max); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1544:21 [INFO] [stdout] | [INFO] [stdout] 1544 | let mut r = rng.gen_range(0.0..total); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1428:41 [INFO] [stdout] | [INFO] [stdout] 1428 | ... let x = rng.gen_range(0.0..width_i32 as f32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1429:41 [INFO] [stdout] | [INFO] [stdout] 1429 | ... let y = rng.gen_range(0.0..height_i32 as f32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1430:45 [INFO] [stdout] | [INFO] [stdout] 1430 | ... let speed = rng.gen_range(8.0..20.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1431:45 [INFO] [stdout] | [INFO] [stdout] 1431 | ... let angle = rng.gen_range(0.0..std::f32::consts::TAU); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1433:45 [INFO] [stdout] | [INFO] [stdout] 1433 | ... let phase = rng.gen_range(0.0..std::f32::consts::TAU); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1434:46 [INFO] [stdout] | [INFO] [stdout] 1434 | ... let life_s = rng.gen_range(6.0..14.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/render/map.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/render/map.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 38 | crate::types::TileKind::Grass => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 55 | crate::types::TileKind::Forest => { [INFO] [stdout] | ------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 66 | crate::types::TileKind::Water => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 87 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1530:24 [INFO] [stdout] | [INFO] [stdout] 1530 | let sec: f32 = rng.gen_range(base_min..base_max); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/main.rs:1544:21 [INFO] [stdout] | [INFO] [stdout] 1544 | let mut r = rng.gen_range(0.0..total); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_w` [INFO] [stdout] --> src/render/map.rs:496:9 [INFO] [stdout] | [INFO] [stdout] 496 | let map_w = w_tiles * cell_px; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 496 | let _map_w = w_tiles * cell_px; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 496 - let map_w = w_tiles * cell_px; [INFO] [stdout] 496 + let run::{closure#5}::R = w_tiles * cell_px; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_h` [INFO] [stdout] --> src/render/map.rs:497:9 [INFO] [stdout] | [INFO] [stdout] 497 | let map_h = h_tiles * cell_px; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 497 | let _map_h = h_tiles * cell_px; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 497 - let map_h = h_tiles * cell_px; [INFO] [stdout] 497 + let run::{closure#5}::R = h_tiles * cell_px; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `px` [INFO] [stdout] --> src/ui.rs:144:26 [INFO] [stdout] | [INFO] [stdout] 144 | let pad = 8 * s; let px = 2 * s; let icon = 10 * s; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 144 | let pad = 8 * s; let _px = 2 * s; let icon = 10 * s; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 144 - let pad = 8 * s; let px = 2 * s; let icon = 10 * s; [INFO] [stdout] 144 + let pad = 8 * s; let run::{closure#5}::R = 2 * s; let icon = 10 * s; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w` [INFO] [stdout] --> src/ui.rs:245:20 [INFO] [stdout] | [INFO] [stdout] 245 | let (x, y, w, h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 245 | let (x, y, _w, h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 245 - let (x, y, w, h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] 245 + let (x, y, run::{closure#5}::R, h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/ui.rs:245:23 [INFO] [stdout] | [INFO] [stdout] 245 | let (x, y, w, h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 245 | let (x, y, w, _h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 245 - let (x, y, w, h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] 245 + let (x, y, w, run::{closure#5}::R) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_info` [INFO] [stdout] --> src/ui.rs:275:48 [INFO] [stdout] | [INFO] [stdout] 275 | let px = 2 * s; let gap_info = 2 * px; let y_info = 8 * s; let pad_right = 8 * s; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 275 | let px = 2 * s; let gap_info = 2 * px; let _y_info = 8 * s; let pad_right = 8 * s; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 275 - let px = 2 * s; let gap_info = 2 * px; let y_info = 8 * s; let pad_right = 8 * s; [INFO] [stdout] 275 + let px = 2 * s; let gap_info = 2 * px; let run::{closure#5}::R = 8 * s; let pad_right = 8 * s; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cx` is never read [INFO] [stdout] --> src/ui.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 316 | cx += draw_two_digits(frame, fw, fh, cx, iy, minutes_u, [230,230,230,255], s); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `by` [INFO] [stdout] --> src/ui.rs:454:22 [INFO] [stdout] | [INFO] [stdout] 454 | ... let (bx, by, bw, _bh) = ui_button_group(frame, fw, fh, &mut row_items, label, active, hovered_btn, can_afford, text_col, ButtonStyl... [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 454 | let (bx, _by, bw, _bh) = ui_button_group(frame, fw, fh, &mut row_items, label, active, hovered_btn, can_afford, text_col, ButtonStyle::Default); [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 454 - let (bx, by, bw, _bh) = ui_button_group(frame, fw, fh, &mut row_items, label, active, hovered_btn, can_afford, text_col, ButtonStyle::Default); [INFO] [stdout] 454 + let (bx, run::{closure#5}::R, bw, _bh) = ui_button_group(frame, fw, fh, &mut row_items, label, active, hovered_btn, can_afford, text_col, ButtonStyle::Default); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ui.rs:505:17 [INFO] [stdout] | [INFO] [stdout] 505 | let mut info_x = lay.x + text_w(housing_text.as_bytes(), s) + 12 * s; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/render/map.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | _ => {} [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/render/map.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 38 | crate::types::TileKind::Grass => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 55 | crate::types::TileKind::Forest => { [INFO] [stdout] | ------------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 66 | crate::types::TileKind::Water => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 87 | _ => {} [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `by0` [INFO] [stdout] --> src/ui_interaction.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 62 | let _by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 62 - let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] 62 + let run::{closure#5}::R = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `padb` [INFO] [stdout] --> src/ui_interaction.rs:62:46 [INFO] [stdout] | [INFO] [stdout] 62 | let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 62 | let by0 = height_i32 - bottom_bar_h; let _padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 62 - let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] 62 + let by0 = height_i32 - bottom_bar_h; let run::{closure#5}::R = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `btn_h` [INFO] [stdout] --> src/ui_interaction.rs:62:67 [INFO] [stdout] | [INFO] [stdout] 62 | let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 62 | let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let _btn_h = 18 * ui_s; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 62 - let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] 62 + let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let run::{closure#5}::R = 18 * ui_s; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_w` [INFO] [stdout] --> src/render/map.rs:496:9 [INFO] [stdout] | [INFO] [stdout] 496 | let map_w = w_tiles * cell_px; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 496 | let _map_w = w_tiles * cell_px; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 496 - let map_w = w_tiles * cell_px; [INFO] [stdout] 496 + let run::{closure#5}::R = w_tiles * cell_px; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_h` [INFO] [stdout] --> src/render/map.rs:497:9 [INFO] [stdout] | [INFO] [stdout] 497 | let map_h = h_tiles * cell_px; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 497 | let _map_h = h_tiles * cell_px; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 497 - let map_h = h_tiles * cell_px; [INFO] [stdout] 497 + let run::{closure#5}::R = h_tiles * cell_px; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resources` [INFO] [stdout] --> src/game.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | resources: &mut Resources, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resources` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `warehouses` [INFO] [stdout] --> src/game.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | warehouses: &mut Vec, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warehouses` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `px` [INFO] [stdout] --> src/ui.rs:144:26 [INFO] [stdout] | [INFO] [stdout] 144 | let pad = 8 * s; let px = 2 * s; let icon = 10 * s; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 144 | let pad = 8 * s; let _px = 2 * s; let icon = 10 * s; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 144 - let pad = 8 * s; let px = 2 * s; let icon = 10 * s; [INFO] [stdout] 144 + let pad = 8 * s; let run::{closure#5}::R = 2 * s; let icon = 10 * s; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | let mut take_bread = |wss: &mut [WarehouseStore], res: &mut Resources, consumed: &mut u8| { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let mut take_fish = |wss: &mut [WarehouseStore], res: &mut Resources, consumed: &mut u8| { [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w` [INFO] [stdout] --> src/ui.rs:245:20 [INFO] [stdout] | [INFO] [stdout] 245 | let (x, y, w, h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 245 | let (x, y, _w, h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 245 - let (x, y, w, h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] 245 + let (x, y, run::{closure#5}::R, h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/ui.rs:245:23 [INFO] [stdout] | [INFO] [stdout] 245 | let (x, y, w, h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 245 | let (x, y, w, _h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 245 - let (x, y, w, h) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] 245 + let (x, y, w, run::{closure#5}::R) = ui_slot(&mut left, icon_size + 4 + number_w(9999, s) + 6 * s); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `y_info` [INFO] [stdout] --> src/ui.rs:275:48 [INFO] [stdout] | [INFO] [stdout] 275 | let px = 2 * s; let gap_info = 2 * px; let y_info = 8 * s; let pad_right = 8 * s; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 275 | let px = 2 * s; let gap_info = 2 * px; let _y_info = 8 * s; let pad_right = 8 * s; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 275 - let px = 2 * s; let gap_info = 2 * px; let y_info = 8 * s; let pad_right = 8 * s; [INFO] [stdout] 275 + let px = 2 * s; let gap_info = 2 * px; let run::{closure#5}::R = 8 * s; let pad_right = 8 * s; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cx` is never read [INFO] [stdout] --> src/ui.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 316 | cx += draw_two_digits(frame, fw, fh, cx, iy, minutes_u, [230,230,230,255], s); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `by` [INFO] [stdout] --> src/ui.rs:454:22 [INFO] [stdout] | [INFO] [stdout] 454 | ... let (bx, by, bw, _bh) = ui_button_group(frame, fw, fh, &mut row_items, label, active, hovered_btn, can_afford, text_col, ButtonStyl... [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 454 | let (bx, _by, bw, _bh) = ui_button_group(frame, fw, fh, &mut row_items, label, active, hovered_btn, can_afford, text_col, ButtonStyle::Default); [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 454 - let (bx, by, bw, _bh) = ui_button_group(frame, fw, fh, &mut row_items, label, active, hovered_btn, can_afford, text_col, ButtonStyle::Default); [INFO] [stdout] 454 + let (bx, run::{closure#5}::R, bw, _bh) = ui_button_group(frame, fw, fh, &mut row_items, label, active, hovered_btn, can_afford, text_col, ButtonStyle::Default); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ui.rs:505:17 [INFO] [stdout] | [INFO] [stdout] 505 | let mut info_x = lay.x + text_w(housing_text.as_bytes(), s) + 12 * s; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `drag_prev_tile` is never read [INFO] [stdout] --> src/main.rs:489:33 [INFO] [stdout] | [INFO] [stdout] 489 | ... drag_prev_tile = Some(tp); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `drag_prev_tile` is never read [INFO] [stdout] --> src/main.rs:525:25 [INFO] [stdout] | [INFO] [stdout] 525 | drag_prev_tile = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `did_step` is assigned to, but never used [INFO] [stdout] --> src/main.rs:922:25 [INFO] [stdout] | [INFO] [stdout] 922 | let mut did_step = false; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_did_step` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `did_step` is never read [INFO] [stdout] --> src/main.rs:1404:25 [INFO] [stdout] | [INFO] [stdout] 1404 | did_step = true; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `drag_prev_tile` [INFO] [stdout] --> src/main.rs:489:33 [INFO] [stdout] | [INFO] [stdout] 489 | ... drag_prev_tile = Some(tp); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: did you mean to capture by reference instead? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `by0` [INFO] [stdout] --> src/ui_interaction.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 62 | let _by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 62 - let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] 62 + let run::{closure#5}::R = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `padb` [INFO] [stdout] --> src/ui_interaction.rs:62:46 [INFO] [stdout] | [INFO] [stdout] 62 | let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 62 | let by0 = height_i32 - bottom_bar_h; let _padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 62 - let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] 62 + let by0 = height_i32 - bottom_bar_h; let run::{closure#5}::R = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `btn_h` [INFO] [stdout] --> src/ui_interaction.rs:62:67 [INFO] [stdout] | [INFO] [stdout] 62 | let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 62 | let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let _btn_h = 18 * ui_s; [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `R` [INFO] [stdout] | [INFO] [stdout] 62 - let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let btn_h = 18 * ui_s; [INFO] [stdout] 62 + let by0 = height_i32 - bottom_bar_h; let padb = 8 * ui_s; let run::{closure#5}::R = 18 * ui_s; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `resources` [INFO] [stdout] --> src/game.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | resources: &mut Resources, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resources` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `warehouses` [INFO] [stdout] --> src/game.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | warehouses: &mut Vec, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_warehouses` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | let mut take_bread = |wss: &mut [WarehouseStore], res: &mut Resources, consumed: &mut u8| { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let mut take_fish = |wss: &mut [WarehouseStore], res: &mut Resources, consumed: &mut u8| { [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SaveData` is never constructed [INFO] [stdout] --> src/main.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | struct SaveData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SaveBuilding` is never constructed [INFO] [stdout] --> src/main.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | struct SaveBuilding { kind: BuildingKind, x: i32, y: i32, timer_ms: i32, #[serde(default)] workers_target: i32 } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SaveTree` is never constructed [INFO] [stdout] --> src/main.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | struct SaveTree { x: i32, y: i32, stage: u8, age_ms: i32 } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spend_wood` is never used [INFO] [stdout] --> src/types.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn spend_wood(warehouses: &mut Vec, resources: &mut Resources, mut amount: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/world.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl World { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn is_river(&self, p: IVec2) -> bool { self.rivers.contains(&(p.x, p.y)) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 244 | fn compute_is_river(&self, p: IVec2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | fn compute_has_clay_deposit(&self, p: IVec2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn compute_has_clay_deposit_biome(&self, p: IVec2, bm: BiomeKind) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | fn compute_has_stone_deposit(&self, p: IVec2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | fn compute_has_stone_deposit_biome(&self, p: IVec2, bm: BiomeKind) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | fn compute_has_iron_deposit(&self, p: IVec2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | fn compute_has_iron_deposit_biome(&self, p: IVec2, bm: BiomeKind) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_pixel_circle_outline` is never used [INFO] [stdout] --> src/render/tiles.rs:63:4 [INFO] [stdout] | [INFO] [stdout] 63 | fn draw_pixel_circle_outline(frame: &mut [u8], width: i32, height: i32, cx: i32, cy: i32, r: i32, color: [u8; 4]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_hspan` is never used [INFO] [stdout] --> src/render/tiles.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn draw_hspan(frame: &mut [u8], width: i32, height: i32, x0: i32, x1: i32, y: i32, color: [u8; 4]) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_pixel_circle_filled` is never used [INFO] [stdout] --> src/render/tiles.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn draw_pixel_circle_filled(frame: &mut [u8], width: i32, height: i32, cx: i32, cy: i32, r: i32, color: [u8; 4]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `darken_color` is never used [INFO] [stdout] --> src/render/tiles.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn darken_color(color: [u8; 4], factor_num: u16, factor_den: u16) -> [u8; 4] { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lighten_color` is never used [INFO] [stdout] --> src/render/tiles.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn lighten_color(color: [u8; 4], delta: i16) -> [u8; 4] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_emote` is never used [INFO] [stdout] --> src/render/tiles.rs:154:8 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn draw_emote(frame: &mut [u8], width: i32, height: i32, x: i32, y: i32, kind: u8, s: i32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blit_sprite_alpha_scaled_tinted` is never used [INFO] [stdout] --> src/render/utils.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn blit_sprite_alpha_scaled_tinted( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_buildings` is never used [INFO] [stdout] --> src/render/map.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn draw_buildings( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_structures_sorted` is never used [INFO] [stdout] --> src/render/map.rs:252:8 [INFO] [stdout] | [INFO] [stdout] 252 | pub fn draw_structures_sorted( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_structures_scanned` is never used [INFO] [stdout] --> src/render/map.rs:296:8 [INFO] [stdout] | [INFO] [stdout] 296 | pub fn draw_structures_scanned( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Column` is never constructed [INFO] [stdout] --> src/ui.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum UiDir { Row, Column } [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variant in this enum [INFO] [stdout] | [INFO] [stdout] = note: `UiDir` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ui_column` is never used [INFO] [stdout] --> src/ui.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn ui_column(x: i32, y: i32, s: i32) -> UiGroup { UiGroup { x, y, dir: UiDir::Column, cursor_x: x, cursor_y: y, gap: ui_gap(s), item_... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `w` and `h` are never read [INFO] [stdout] --> src/ui.rs:200:54 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct EconomyLayout { pub x:i32, pub y:i32, pub w:i32, pub h:i32, pub tax_minus_x:i32, pub tax_minus_y:i32, pub tax_minus_w:i32, pub... [INFO] [stdout] | ------------- fields in this struct ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `EconomyLayout` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `production_weather_penalty` is never used [INFO] [stdout] --> src/game.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn production_weather_penalty(kind: crate::WeatherKind) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `drag_prev_tile` is never read [INFO] [stdout] --> src/main.rs:489:33 [INFO] [stdout] | [INFO] [stdout] 489 | ... drag_prev_tile = Some(tp); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `drag_prev_tile` is never read [INFO] [stdout] --> src/main.rs:525:25 [INFO] [stdout] | [INFO] [stdout] 525 | drag_prev_tile = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `did_step` is assigned to, but never used [INFO] [stdout] --> src/main.rs:922:25 [INFO] [stdout] | [INFO] [stdout] 922 | let mut did_step = false; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_did_step` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `did_step` is never read [INFO] [stdout] --> src/main.rs:1404:25 [INFO] [stdout] | [INFO] [stdout] 1404 | did_step = true; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `drag_prev_tile` [INFO] [stdout] --> src/main.rs:489:33 [INFO] [stdout] | [INFO] [stdout] 489 | ... drag_prev_tile = Some(tp); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: did you mean to capture by reference instead? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SaveData` is never constructed [INFO] [stdout] --> src/main.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | struct SaveData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SaveBuilding` is never constructed [INFO] [stdout] --> src/main.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | struct SaveBuilding { kind: BuildingKind, x: i32, y: i32, timer_ms: i32, #[serde(default)] workers_target: i32 } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SaveTree` is never constructed [INFO] [stdout] --> src/main.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | struct SaveTree { x: i32, y: i32, stage: u8, age_ms: i32 } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spend_wood` is never used [INFO] [stdout] --> src/types.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn spend_wood(warehouses: &mut Vec, resources: &mut Resources, mut amount: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/world.rs:243:12 [INFO] [stdout] | [INFO] [stdout] 43 | impl World { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn is_river(&self, p: IVec2) -> bool { self.rivers.contains(&(p.x, p.y)) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 244 | fn compute_is_river(&self, p: IVec2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | fn compute_has_clay_deposit(&self, p: IVec2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn compute_has_clay_deposit_biome(&self, p: IVec2, bm: BiomeKind) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | fn compute_has_stone_deposit(&self, p: IVec2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | fn compute_has_stone_deposit_biome(&self, p: IVec2, bm: BiomeKind) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | fn compute_has_iron_deposit(&self, p: IVec2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | fn compute_has_iron_deposit_biome(&self, p: IVec2, bm: BiomeKind) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_pixel_circle_outline` is never used [INFO] [stdout] --> src/render/tiles.rs:63:4 [INFO] [stdout] | [INFO] [stdout] 63 | fn draw_pixel_circle_outline(frame: &mut [u8], width: i32, height: i32, cx: i32, cy: i32, r: i32, color: [u8; 4]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_hspan` is never used [INFO] [stdout] --> src/render/tiles.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn draw_hspan(frame: &mut [u8], width: i32, height: i32, x0: i32, x1: i32, y: i32, color: [u8; 4]) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_pixel_circle_filled` is never used [INFO] [stdout] --> src/render/tiles.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn draw_pixel_circle_filled(frame: &mut [u8], width: i32, height: i32, cx: i32, cy: i32, r: i32, color: [u8; 4]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `darken_color` is never used [INFO] [stdout] --> src/render/tiles.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn darken_color(color: [u8; 4], factor_num: u16, factor_den: u16) -> [u8; 4] { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lighten_color` is never used [INFO] [stdout] --> src/render/tiles.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn lighten_color(color: [u8; 4], delta: i16) -> [u8; 4] { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_emote` is never used [INFO] [stdout] --> src/render/tiles.rs:154:8 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn draw_emote(frame: &mut [u8], width: i32, height: i32, x: i32, y: i32, kind: u8, s: i32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `blit_sprite_alpha_scaled_tinted` is never used [INFO] [stdout] --> src/render/utils.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn blit_sprite_alpha_scaled_tinted( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_buildings` is never used [INFO] [stdout] --> src/render/map.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn draw_buildings( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_structures_sorted` is never used [INFO] [stdout] --> src/render/map.rs:252:8 [INFO] [stdout] | [INFO] [stdout] 252 | pub fn draw_structures_sorted( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_structures_scanned` is never used [INFO] [stdout] --> src/render/map.rs:296:8 [INFO] [stdout] | [INFO] [stdout] 296 | pub fn draw_structures_scanned( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Column` is never constructed [INFO] [stdout] --> src/ui.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum UiDir { Row, Column } [INFO] [stdout] | ----- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variant in this enum [INFO] [stdout] | [INFO] [stdout] = note: `UiDir` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ui_column` is never used [INFO] [stdout] --> src/ui.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn ui_column(x: i32, y: i32, s: i32) -> UiGroup { UiGroup { x, y, dir: UiDir::Column, cursor_x: x, cursor_y: y, gap: ui_gap(s), item_... [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `w` and `h` are never read [INFO] [stdout] --> src/ui.rs:200:54 [INFO] [stdout] | [INFO] [stdout] 200 | pub struct EconomyLayout { pub x:i32, pub y:i32, pub w:i32, pub h:i32, pub tax_minus_x:i32, pub tax_minus_y:i32, pub tax_minus_w:i32, pub... [INFO] [stdout] | ------------- fields in this struct ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `EconomyLayout` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `production_weather_penalty` is never used [INFO] [stdout] --> src/game.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn production_weather_penalty(kind: crate::WeatherKind) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [optimized + debuginfo] target(s) in 4m 56s [INFO] running `Command { std: "docker" "inspect" "060b69a677e9258191195e2e36644bc6a08469529ac0e6e794021b63e637f650", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "060b69a677e9258191195e2e36644bc6a08469529ac0e6e794021b63e637f650", kill_on_drop: false }` [INFO] [stdout] 060b69a677e9258191195e2e36644bc6a08469529ac0e6e794021b63e637f650