[INFO] cloning repository https://github.com/trevorswan11/cactus [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/trevorswan11/cactus" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftrevorswan11%2Fcactus", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftrevorswan11%2Fcactus'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] baccaff6c41ffdc736c2cb7dd881182c893638eb [INFO] checking trevorswan11/cactus/baccaff6c41ffdc736c2cb7dd881182c893638eb against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftrevorswan11%2Fcactus" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/trevorswan11/cactus [INFO] finished tweaking git repo https://github.com/trevorswan11/cactus [INFO] tweaked toml for git repo https://github.com/trevorswan11/cactus written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/trevorswan11/cactus on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/trevorswan11/cactus 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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7350c6445ce8abe58f742ee0dacbf29bb25c6f5e8d388f301cb209930473484f [INFO] running `Command { std: "docker" "start" "-a" "7350c6445ce8abe58f742ee0dacbf29bb25c6f5e8d388f301cb209930473484f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7350c6445ce8abe58f742ee0dacbf29bb25c6f5e8d388f301cb209930473484f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7350c6445ce8abe58f742ee0dacbf29bb25c6f5e8d388f301cb209930473484f", kill_on_drop: false }` [INFO] [stdout] 7350c6445ce8abe58f742ee0dacbf29bb25c6f5e8d388f301cb209930473484f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1a7e399c9c553cec9321679cf567c35fa3b67fbd80db0e7f6e45120174eba72a [INFO] running `Command { std: "docker" "start" "-a" "1a7e399c9c553cec9321679cf567c35fa3b67fbd80db0e7f6e45120174eba72a", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Compiling winnow v0.7.12 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Checking libloading v0.8.8 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Checking slab v0.4.10 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Checking parking v2.2.1 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling cc v1.2.31 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Compiling wayland-sys v0.31.7 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Compiling endi v1.1.0 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Checking futures-lite v2.6.1 [INFO] [stderr] Compiling quick-xml v0.37.5 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling wayland-client v0.31.11 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Checking syn v2.0.104 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Checking async-lock v3.4.1 [INFO] [stderr] Checking core_maths v0.1.1 [INFO] [stderr] Checking tracing-core v0.1.34 [INFO] [stderr] Checking ttf-parser v0.25.1 [INFO] [stderr] Checking async-task v4.7.1 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Checking atomic-waker v1.1.2 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Checking piper v0.2.4 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling wayland-scanner v0.31.7 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling wayland-backend v0.3.11 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking float-cmp v0.9.0 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.9 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking memmap2 v0.9.7 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Checking async-executor v1.13.2 [INFO] [stderr] Checking async-broadcast v0.7.2 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking ordered-stream v0.2.0 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking writeable v0.6.1 [INFO] [stderr] Checking litemap v0.8.0 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Compiling xml-rs v0.8.27 [INFO] [stderr] Checking arrayref v0.3.9 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Checking cursor-icon v1.2.0 [INFO] [stderr] Compiling smithay-client-toolkit v0.19.2 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Checking xcursor v0.3.10 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Checking accesskit v0.19.0 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Checking xkeysym v0.2.1 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Compiling built v0.7.7 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking owned_ttf_parser v0.25.1 [INFO] [stderr] Checking polling v3.10.0 [INFO] [stderr] Checking async-io v2.5.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking x11rb-protocol v0.13.1 [INFO] [stderr] Checking ab_glyph v0.2.31 [INFO] [stderr] Checking weezl v0.1.10 [INFO] [stderr] Checking as-raw-xcb-connection v1.0.1 [INFO] [stderr] Checking quick-error v2.0.1 [INFO] [stderr] Checking foldhash v0.1.5 [INFO] [stderr] Compiling rav1e v0.7.1 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Compiling winit v0.30.12 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking zune-core v0.4.12 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking epaint_default_fonts v0.32.0 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Checking async-signal v0.2.12 [INFO] [stderr] Checking bitstream-io v2.6.0 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Checking async-process v2.4.0 [INFO] [stderr] Checking imgref v1.11.0 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Checking nohash-hasher v0.2.0 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Checking image-webp v0.2.3 [INFO] [stderr] Checking gif v0.13.3 [INFO] [stderr] Checking accesskit_consumer v0.28.0 [INFO] [stderr] Checking loop9 v0.1.5 [INFO] [stderr] Checking zune-jpeg v0.4.20 [INFO] [stderr] Compiling glutin_glx_sys v0.6.1 [INFO] [stderr] Compiling glutin_egl_sys v0.7.1 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Compiling slotmap v1.0.7 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Checking avif-serialize v0.8.5 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking smol_str v0.2.2 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking jpeg-decoder v0.3.2 [INFO] [stderr] Checking lebe v0.5.2 [INFO] [stderr] Checking dpi v0.1.2 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Checking wayland-protocols v0.32.9 [INFO] [stderr] Checking wayland-cursor v0.31.11 [INFO] [stderr] Checking exr v1.73.0 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Compiling glutin v0.32.3 [INFO] [stderr] Checking roxmltree v0.20.0 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Compiling mime_guess2 v2.3.1 [INFO] [stderr] Checking tinyvec v1.9.0 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Compiling glutin-winit v0.5.0 [INFO] [stderr] Checking kurbo v0.11.3 [INFO] [stderr] Checking extended v0.1.0 [INFO] [stderr] Compiling cpal v0.16.0 [INFO] [stderr] Checking maybe-rayon v0.1.1 [INFO] [stderr] Checking unicode-ccc v0.4.0 [INFO] [stderr] Checking fontconfig-parser v0.5.8 [INFO] [stderr] Checking unicode-properties v0.1.3 [INFO] [stderr] Checking unicode-bidi-mirroring v0.4.0 [INFO] [stderr] Checking unicode-script v0.5.7 [INFO] [stderr] Checking alsa v0.9.1 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking simplecss v0.2.2 [INFO] [stderr] Checking fontdb v0.23.0 [INFO] [stderr] Checking imagesize v0.13.0 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking web-time v1.1.0 [INFO] [stderr] Compiling litrs v0.4.2 [INFO] [stderr] Checking glow v0.16.0 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking pico-args v0.5.0 [INFO] [stderr] Checking data-url v0.3.1 [INFO] [stderr] Checking unicode-vo v0.1.0 [INFO] [stderr] Checking dasp_sample v0.11.0 [INFO] [stderr] Checking unicode-bidi v0.3.18 [INFO] [stderr] Checking xmlwriter v0.1.0 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking directories v6.0.0 [INFO] [stderr] Compiling document-features v0.2.11 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking svgtypes v0.15.3 [INFO] [stderr] Compiling bytemuck_derive v1.10.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling profiling-procmacros v1.0.17 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Checking profiling v1.0.17 [INFO] [stderr] Compiling equator-macro v0.4.2 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling enum-map-derive v0.17.0 [INFO] [stderr] Checking equator v0.4.2 [INFO] [stderr] Checking enum-map v2.7.3 [INFO] [stderr] Checking aligned-vec v0.6.4 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Checking bytemuck v1.23.1 [INFO] [stderr] Checking v_frame v0.3.9 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking symphonia-core v0.5.4 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking emath v0.32.0 [INFO] [stderr] Checking rgb v0.8.52 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking rustybuzz v0.20.1 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Checking av1-grain v0.2.4 [INFO] [stderr] Checking ecolor v0.32.0 [INFO] [stderr] Checking calloop-wayland-source v0.3.0 [INFO] [stderr] Checking zerovec v0.11.3 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking epaint v0.32.0 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking potential_utf v0.1.2 [INFO] [stderr] Checking symphonia-metadata v0.5.4 [INFO] [stderr] Checking symphonia-codec-aac v0.5.4 [INFO] [stderr] Checking symphonia-codec-pcm v0.5.4 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.9 [INFO] [stderr] Checking wayland-protocols-plasma v0.3.9 [INFO] [stderr] Checking symphonia-utils-xiph v0.5.4 [INFO] [stderr] Checking symphonia-format-riff v0.5.4 [INFO] [stderr] Checking symphonia-bundle-mp3 v0.5.4 [INFO] [stderr] Checking symphonia-bundle-flac v0.5.4 [INFO] [stderr] Checking symphonia-format-isomp4 v0.5.4 [INFO] [stderr] Checking symphonia-codec-vorbis v0.5.4 [INFO] [stderr] Checking symphonia-format-ogg v0.5.4 [INFO] [stderr] Checking egui v0.32.0 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking symphonia v0.5.4 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking rodio v0.21.1 [INFO] [stderr] Checking usvg v0.45.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking sctk-adwaita v0.10.1 [INFO] [stderr] Checking smithay-clipboard v0.7.2 [INFO] [stderr] Checking webbrowser v1.0.5 [INFO] [stderr] Checking zvariant_utils v3.2.0 [INFO] [stderr] Checking enumflags2 v0.7.12 [INFO] [stderr] Checking quick-xml v0.36.2 [INFO] [stderr] Checking resvg v0.45.1 [INFO] [stderr] Checking ravif v0.11.20 [INFO] [stderr] Checking image v0.25.6 [INFO] [stderr] Compiling zvariant_derive v5.6.0 [INFO] [stderr] Checking egui_glow v0.32.0 [INFO] [stderr] Checking egui_extras v0.32.0 [INFO] [stderr] Compiling zvariant v5.6.0 [INFO] [stderr] Checking x11rb v0.13.1 [INFO] [stderr] Compiling zbus_names v4.2.0 [INFO] [stderr] Compiling zbus_xml v5.0.2 [INFO] [stderr] Compiling zbus_macros v5.9.0 [INFO] [stderr] Checking arboard v3.6.0 [INFO] [stderr] Compiling zbus-lockstep v0.5.1 [INFO] [stderr] Compiling zbus-lockstep-macros v0.5.1 [INFO] [stderr] Checking zbus v5.9.0 [INFO] [stderr] Checking atspi-common v0.9.0 [INFO] [stderr] Checking atspi-proxies v0.9.0 [INFO] [stderr] Checking accesskit_atspi_common v0.12.0 [INFO] [stderr] Checking atspi-connection v0.9.0 [INFO] [stderr] Checking atspi v0.25.0 [INFO] [stderr] Checking accesskit_unix v0.15.0 [INFO] [stderr] Checking accesskit_winit v0.27.0 [INFO] [stderr] Checking egui-winit v0.32.0 [INFO] [stderr] Checking eframe v0.32.0 [INFO] [stderr] Checking cactus v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::brain` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::engine::brain; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::search::searcher` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::engine::search::searcher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PieceSquareTable` [INFO] [stdout] --> src/engine/eval/evaluation.rs:2:37 [INFO] [stdout] | [INFO] [stdout] 2 | eval::precomputed_evals::{self, PieceSquareTable}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `generate::move_generator::MoveGenerator` [INFO] [stdout] --> src/engine/game/move.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | generate::move_generator::MoveGenerator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `game::board::Color` [INFO] [stdout] --> src/engine/game/piece.rs:3:39 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::engine::{eval::evaluation, game::board::Color}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Magic` [INFO] [stdout] --> src/engine/generate/move_generator.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | magic::{self, Magic}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/engine/generate/move_generator.rs:467:33 [INFO] [stdout] | [INFO] [stdout] 467 | ... ((start_square, target_square, r#move::EN_PASSANT_CAPTURE_FLAG)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 467 - ((start_square, target_square, r#move::EN_PASSANT_CAPTURE_FLAG)), [INFO] [stdout] 467 + (start_square, target_square, r#move::EN_PASSANT_CAPTURE_FLAG), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `coord::Coord`, `piece`, `self`, and `self` [INFO] [stdout] --> src/engine/search/searcher.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | game::{board::Board, coord::Coord, r#move::Move, piece}, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] 5 | search::{ [INFO] [stdout] 6 | lu_tables::{self, RepetitionTable, TranspositionTable}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | move_ordering::{self, MoveOrdering}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::brain` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::engine::brain; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::search::searcher` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::engine::search::searcher; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PieceSquareTable` [INFO] [stdout] --> src/engine/eval/evaluation.rs:2:37 [INFO] [stdout] | [INFO] [stdout] 2 | eval::precomputed_evals::{self, PieceSquareTable}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `generate::move_generator::MoveGenerator` [INFO] [stdout] --> src/engine/game/move.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | generate::move_generator::MoveGenerator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `game::board::Color` [INFO] [stdout] --> src/engine/game/piece.rs:3:39 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::engine::{eval::evaluation, game::board::Color}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Magic` [INFO] [stdout] --> src/engine/generate/move_generator.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | magic::{self, Magic}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/engine/generate/move_generator.rs:467:33 [INFO] [stdout] | [INFO] [stdout] 467 | ... ((start_square, target_square, r#move::EN_PASSANT_CAPTURE_FLAG)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 467 - ((start_square, target_square, r#move::EN_PASSANT_CAPTURE_FLAG)), [INFO] [stdout] 467 + (start_square, target_square, r#move::EN_PASSANT_CAPTURE_FLAG), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `coord::Coord`, `piece`, `self`, and `self` [INFO] [stdout] --> src/engine/search/searcher.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | game::{board::Board, coord::Coord, r#move::Move, piece}, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] 5 | search::{ [INFO] [stdout] 6 | lu_tables::{self, RepetitionTable, TranspositionTable}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 7 | move_ordering::{self, MoveOrdering}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `square` [INFO] [stdout] --> src/engine/generate/bitboard.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | for square in 0..64 {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_square` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/engine/generate/bitboard.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | for i in 0..64 {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/generate/bitboard.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | let mut white_passed_pawn_mask = [u64::default(); 64]; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/generate/bitboard.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let mut black_passed_pawn_mask = [u64::default(); 64]; [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/engine/generate/bitboard.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let mut white_pawn_support_mask = [u64::default(); 64]; [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/engine/generate/bitboard.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut black_pawn_support_mask = [u64::default(); 64]; [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/engine/generate/bitboard.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | let mut white_forward_file_mask = [u64::default(); 64]; [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/engine/generate/bitboard.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | let mut black_forward_file_mask = [u64::default(); 64]; [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/engine/generate/bitboard.rs:93:13 [INFO] [stdout] | [INFO] [stdout] 93 | let mut king_safety_mask = [u64::default(); 64]; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece_type` [INFO] [stdout] --> src/engine/generate/move_generator.rs:577:29 [INFO] [stdout] | [INFO] [stdout] 577 | let piece_type = piece.get_type(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `opponent_pawn_attack_map` is never read [INFO] [stdout] --> src/engine/generate/move_generator.rs:632:17 [INFO] [stdout] | [INFO] [stdout] 632 | let mut opponent_pawn_attack_map = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `square` [INFO] [stdout] --> src/engine/generate/bitboard.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | for square in 0..64 {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_square` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/engine/generate/bitboard.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | for i in 0..64 {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/generate/bitboard.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | let mut white_passed_pawn_mask = [u64::default(); 64]; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/generate/bitboard.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | let mut black_passed_pawn_mask = [u64::default(); 64]; [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/engine/generate/bitboard.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | let mut white_pawn_support_mask = [u64::default(); 64]; [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/engine/generate/bitboard.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let mut black_pawn_support_mask = [u64::default(); 64]; [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/engine/generate/bitboard.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | let mut white_forward_file_mask = [u64::default(); 64]; [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/engine/generate/bitboard.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | let mut black_forward_file_mask = [u64::default(); 64]; [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/engine/generate/bitboard.rs:93:13 [INFO] [stdout] | [INFO] [stdout] 93 | let mut king_safety_mask = [u64::default(); 64]; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece_type` [INFO] [stdout] --> src/engine/generate/move_generator.rs:577:29 [INFO] [stdout] | [INFO] [stdout] 577 | let piece_type = piece.get_type(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `opponent_pawn_attack_map` is never read [INFO] [stdout] --> src/engine/generate/move_generator.rs:632:17 [INFO] [stdout] | [INFO] [stdout] 632 | let mut opponent_pawn_attack_map = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `maybe_white_engine` is assigned to, but never used [INFO] [stdout] --> src/main.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let mut maybe_white_engine: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_maybe_white_engine` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `maybe_black_engine` is assigned to, but never used [INFO] [stdout] --> src/main.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | let mut maybe_black_engine: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_maybe_black_engine` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `maybe_black_engine` is never read [INFO] [stdout] --> src/main.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | maybe_black_engine = engine; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `maybe_white_engine` is never read [INFO] [stdout] --> src/main.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | maybe_white_engine = engine; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `maybe_black_engine` is never read [INFO] [stdout] --> src/main.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | maybe_black_engine = Some(engine); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `maybe_white_engine` is never read [INFO] [stdout] --> src/main.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | maybe_white_engine = Some(engine); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STARTING_COLOR` is never used [INFO] [stdout] --> src/core/mod.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const STARTING_COLOR: Color = Color::White; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Color` is never used [INFO] [stdout] --> src/core/mod.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Color { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `opponent` is never used [INFO] [stdout] --> src/core/mod.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Color { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 13 | pub fn opponent(&self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Square` is never constructed [INFO] [stdout] --> src/core/board.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Square { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Board` is never constructed [INFO] [stdout] --> src/core/board.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Board { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Flags` is never constructed [INFO] [stdout] --> src/core/board.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Flags { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `State` is never used [INFO] [stdout] --> src/core/board.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | pub enum State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Player` is never constructed [INFO] [stdout] --> src/core/board.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct Player { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_capture` is never used [INFO] [stdout] --> src/core/board.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl Player { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 70 | pub fn add_capture(&mut self, piece: PieceKind) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Players` is never constructed [INFO] [stdout] --> src/core/board.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct Players { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/board.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 136 | impl Board { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 137 | pub fn is_valid_pos(pos: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn piece_at(&self, pos: (usize, usize)) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn center_at(&self, (rank, file): (usize, usize)) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn set_piece(&mut self, pos: (usize, usize), piece: Option) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn move_piece( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn update_state(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | pub fn refresh(&self, rect: Rect) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BLACK_BISHOP` is never used [INFO] [stdout] --> src/core/piece.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub static BLACK_BISHOP: &[u8] = include_bytes!("../../assets/cburnett/bB.svg"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BLACK_KING` is never used [INFO] [stdout] --> src/core/piece.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub static BLACK_KING: &[u8] = include_bytes!("../../assets/cburnett/bK.svg"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BLACK_KNIGHT` is never used [INFO] [stdout] --> src/core/piece.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub static BLACK_KNIGHT: &[u8] = include_bytes!("../../assets/cburnett/bN.svg"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BLACK_PAWN` is never used [INFO] [stdout] --> src/core/piece.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub static BLACK_PAWN: &[u8] = include_bytes!("../../assets/cburnett/bP.svg"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BLACK_QUEEN` is never used [INFO] [stdout] --> src/core/piece.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub static BLACK_QUEEN: &[u8] = include_bytes!("../../assets/cburnett/bQ.svg"); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BLACK_ROOK` is never used [INFO] [stdout] --> src/core/piece.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub static BLACK_ROOK: &[u8] = include_bytes!("../../assets/cburnett/bR.svg"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `WHITE_BISHOP` is never used [INFO] [stdout] --> src/core/piece.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub static WHITE_BISHOP: &[u8] = include_bytes!("../../assets/cburnett/wB.svg"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `WHITE_KING` is never used [INFO] [stdout] --> src/core/piece.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub static WHITE_KING: &[u8] = include_bytes!("../../assets/cburnett/wK.svg"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `WHITE_KNIGHT` is never used [INFO] [stdout] --> src/core/piece.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub static WHITE_KNIGHT: &[u8] = include_bytes!("../../assets/cburnett/wN.svg"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `WHITE_PAWN` is never used [INFO] [stdout] --> src/core/piece.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub static WHITE_PAWN: &[u8] = include_bytes!("../../assets/cburnett/wP.svg"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `WHITE_QUEEN` is never used [INFO] [stdout] --> src/core/piece.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub static WHITE_QUEEN: &[u8] = include_bytes!("../../assets/cburnett/wQ.svg"); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `WHITE_ROOK` is never used [INFO] [stdout] --> src/core/piece.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub static WHITE_ROOK: &[u8] = include_bytes!("../../assets/cburnett/wR.svg"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Piece` is never constructed [INFO] [stdout] --> src/core/piece.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Piece<'a> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PieceKind` is never used [INFO] [stdout] --> src/core/piece.rs:27:10 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum PieceKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PieceType` is never used [INFO] [stdout] --> src/core/piece.rs:43:10 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum PieceType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `color`, `to_type`, and `score` are never used [INFO] [stdout] --> src/core/piece.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl PieceKind { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 53 | pub fn new(piece_type: PieceType, color: Color) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn color(&self) -> Color { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn to_type(&self) -> PieceType { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn score(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_kind` is never used [INFO] [stdout] --> src/core/piece.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 114 | impl<'a> Piece<'a> { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 115 | pub fn from_kind(kind: PieceKind) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PieceImages` is never constructed [INFO] [stdout] --> src/core/piece.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 135 | pub struct PieceImages { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update_textures`, `get_texture`, `get_capture`, and `svg_to_image` are never used [INFO] [stdout] --> src/core/piece.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 140 | impl PieceImages { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 141 | pub fn new(ctx: &Context, pixel_size: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn update_textures(&mut self, ctx: &egui::Context, pixel_size: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn get_texture(&self, kind: PieceKind) -> &TextureHandle { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn get_capture(&self, kind: PieceKind) -> &TextureHandle { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | fn svg_to_image(svg_data: &[u8], size: f32) -> ColorImage { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `cmd_sender` and `response_receiver` are never read [INFO] [stdout] --> src/coupling/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct EngineHandle { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 11 | pub cmd_sender: Sender, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 12 | pub response_receiver: Receiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EngineHandle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send_command` and `try_receive_response` are never used [INFO] [stdout] --> src/coupling/mod.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl EngineHandle { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 16 | pub fn send_command(&self, cmd: String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn try_receive_response(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parse_uci_move`, `move_history_uci`, and `apply_uci_move` are never used [INFO] [stdout] --> src/coupling/integration.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 12 | pub fn parse_uci_move(&self, uci: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn move_history_uci(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn apply_uci_move(&mut self, uci: &str) -> (Option, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `try_engine_turn` and `is_engine_turn` are never used [INFO] [stdout] --> src/coupling/integration.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl Cactus { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 70 | pub fn try_engine_turn(&mut self, thinking_time_ms: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn is_engine_turn(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `uci_word` is never used [INFO] [stdout] --> src/coupling/integration.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn uci_word(line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_on_move_chosen` is never used [INFO] [stdout] --> src/engine/driver.rs:156:8 [INFO] [stdout] | [INFO] [stdout] 51 | impl CactusEngine { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 156 | fn set_on_move_chosen(&self, sender: S) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ENDGAME_MATERIAL_START` is never used [INFO] [stdout] --> src/engine/eval/evaluation.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const ENDGAME_MATERIAL_START: f32 = (ROOK_VALUE * 2 + BISHOP_VALUE + KNIGHT_VALUE) as f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ENDGAME_MULTIPLIER` is never used [INFO] [stdout] --> src/engine/eval/evaluation.rs:31:7 [INFO] [stdout] | [INFO] [stdout] 31 | const ENDGAME_MULTIPLIER: f32 = 1.0 / ENDGAME_MATERIAL_START; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `endgame_phase_weight` and `count_material` are never used [INFO] [stdout] --> src/engine/eval/evaluation.rs:204:8 [INFO] [stdout] | [INFO] [stdout] 84 | impl Evaluation { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 204 | fn endgame_phase_weight(material_count_without_pawns: i32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn count_material(&self, board: &Board, color: Color) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `num_pawns`, `num_majors`, `num_minors`, and `num_bishops` are never read [INFO] [stdout] --> src/engine/eval/evaluation.rs:374:9 [INFO] [stdout] | [INFO] [stdout] 371 | pub struct MaterialInfo { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 374 | pub num_pawns: i32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 375 | pub num_majors: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 376 | pub num_minors: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 377 | pub num_bishops: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MaterialInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GameResult` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum GameResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_draw` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn is_draw(result: GameResult) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_win` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn is_win(result: GameResult) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `white_winner` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn white_winner(result: GameResult) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `black_winner` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn black_winner(result: GameResult) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_game_state` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_game_state(board: &mut Board) -> GameResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insufficient_material` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn insufficient_material(board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `E1` is never used [INFO] [stdout] --> src/engine/game/board.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | pub const E1: i32 = 4; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `E8` is never used [INFO] [stdout] --> src/engine/game/board.rs:49:11 [INFO] [stdout] | [INFO] [stdout] 49 | pub const E8: i32 = 60; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_in_check` is never used [INFO] [stdout] --> src/engine/game/board.rs:481:12 [INFO] [stdout] | [INFO] [stdout] 117 | impl Board { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 481 | pub fn is_in_check(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `board_from_fen`, `board_from_other`, and `pgn` are never used [INFO] [stdout] --> src/engine/game/board.rs:656:12 [INFO] [stdout] | [INFO] [stdout] 655 | impl Board { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 656 | pub fn board_from_fen(fen: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 663 | pub fn board_from_other(other: &Board) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 752 | pub fn pgn(&mut self, result: GameResult, white_name: &str, black_name: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_pgn` is never used [INFO] [stdout] --> src/engine/game/board.rs:763:8 [INFO] [stdout] | [INFO] [stdout] 763 | pub fn create_pgn( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `promotion_type` is never used [INFO] [stdout] --> src/engine/game/move.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl Move { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn promotion_type(&self) -> Piece { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_san` and `to_san` are never used [INFO] [stdout] --> src/engine/game/move.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 96 | impl Move { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn from_san(board: &mut Board, algebraic_move: String) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub fn to_san(&self, board: &mut Board) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pgn_from_moves` is never used [INFO] [stdout] --> src/engine/game/move.rs:379:8 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn pgn_from_moves(moves: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_value` and `can_slide` are never used [INFO] [stdout] --> src/engine/game/piece.rs:134:12 [INFO] [stdout] | [INFO] [stdout] 98 | impl Piece { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn get_value(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn can_slide(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `white_pawn_support`, `black_pawn_support`, `king_safety`, `white_forward_file`, `black_forward_file`, and `triple_file` are never read [INFO] [stdout] --> src/engine/generate/bitboard.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct BitMasks { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 52 | pub white_pawn_support: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | pub black_pawn_support: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub king_safety: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 59 | [INFO] [stdout] 60 | pub white_forward_file: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 61 | pub black_forward_file: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 62 | [INFO] [stdout] 63 | pub triple_file: [u64; 8], [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BitMasks` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `clear_square` is never used [INFO] [stdout] --> src/engine/generate/bitboard.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 201 | impl BitBoard { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn clear_square(bb: &mut u64, square_idx: i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Queen` and `QueenAndKnight` are never constructed [INFO] [stdout] --> src/engine/generate/move_generator.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum PromotionMode { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 20 | All, [INFO] [stdout] 21 | Queen, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | QueenAndKnight, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PromotionMode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAWN_ATTACK_DIRECTIONS` is never used [INFO] [stdout] --> src/engine/generate/move_generator.rs:722:11 [INFO] [stdout] | [INFO] [stdout] 722 | pub const PAWN_ATTACK_DIRECTIONS: [[u8; 2]; 2] = [[4, 6], [7, 5]]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `num_rook_moves_to_reach_square` and `num_king_moves_to_reach_square` are never used [INFO] [stdout] --> src/engine/generate/move_generator.rs:968:12 [INFO] [stdout] | [INFO] [stdout] 967 | impl PrecomputedMoveData { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 968 | pub fn num_rook_moves_to_reach_square(&self, start_square: i32, target_square: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 972 | pub fn num_king_moves_to_reach_square(&self, start_square: i32, target_square: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `push`, `try_pop`, and `contains` are never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl RepetitionTable { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn push(&mut self, hash: u64, reset: bool) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn try_pop(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn contains(&self, hash: u64) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOOKUP_FAILED` is never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | pub const LOOKUP_FAILED: i32 = -1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXACT` is never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | pub const EXACT: i32 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOWER_BOUND` is never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:68:11 [INFO] [stdout] | [INFO] [stdout] 68 | pub const LOWER_BOUND: i32 = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UPPER_BOUND` is never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub const UPPER_BOUND: i32 = 2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `count` and `enabled` are never read [INFO] [stdout] --> src/engine/search/lu_tables.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct TranspositionTable { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 74 | pub entries: Vec>, [INFO] [stdout] 75 | pub count: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 76 | pub enabled: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TranspositionTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `index`, `try_get_stored_move`, `lookup_evaluation`, and `store_evaluation` are never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl TranspositionTable { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn index(&self, board: &Board) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn try_get_stored_move(&self, board: &Board) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn lookup_evaluation( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn store_evaluation( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `correct_mate_score_for_storage` and `correct_retrieved_mate_score` are never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 167 | impl TranspositionTable { [INFO] [stdout] | ----------------------- associated functions in this implementation [INFO] [stdout] 168 | fn correct_mate_score_for_storage(score: i32, num_ply_searched: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn correct_retrieved_mate_score(score: i32, num_ply_searched: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `key`, `value`, `mv`, `depth`, and `node_type` are never read [INFO] [stdout] --> src/engine/search/lu_tables.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 186 | pub struct Entry { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 187 | pub key: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 188 | pub value: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 189 | pub mv: Move, [INFO] [stdout] | ^^ [INFO] [stdout] 190 | pub depth: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 191 | pub node_type: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Entry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 194 | impl Entry { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn new(key: u64, value: i32, mv: Move, depth: u8, node_type: u8) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `add` are never used [INFO] [stdout] --> src/engine/search/move_ordering.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 162 | impl Killers { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 163 | pub fn new(move_a: Move, move_b: Move) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn add(&mut self, mv: Move) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_EXTENSIONS` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const MAX_EXTENSIONS: i32 = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IMMEDIATE_MATE_SCORE` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const IMMEDIATE_MATE_SCORE: i32 = 100000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REDUCE_DEPTH` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const REDUCE_DEPTH: i32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_MATE_DEPTH` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const MAX_MATE_DEPTH: i32 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PLY` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const MAX_PLY: i32 = 256; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `has_searched_at_least_one_move` and `current_iteration_depth` are never read [INFO] [stdout] --> src/engine/search/searcher.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Searcher { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 31 | has_searched_at_least_one_move: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | current_iteration_depth: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Searcher` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `flush_log` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl Searcher { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn flush_log(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_mate_score` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:186:8 [INFO] [stdout] | [INFO] [stdout] 186 | pub fn is_mate_score(score: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `num_ply_to_mate_from_score` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:194:8 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn num_ply_to_mate_from_score(score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/engine/search/searcher.rs:200:9 [INFO] [stdout] | [INFO] [stdout] 199 | pub struct SearchDiagnostics { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 200 | pub num_completed_iterations: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 201 | pub num_positions_evaluated: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 202 | pub num_cutoffs: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 203 | [INFO] [stdout] 204 | pub move_val: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 205 | pub mv: String, [INFO] [stdout] | ^^ [INFO] [stdout] 206 | pub eval: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 207 | pub move_is_from_partial_search: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 208 | pub num_q_checks: i32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 209 | pub num_q_mates: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 210 | [INFO] [stdout] 211 | pub is_book: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 212 | pub max_extension_reached_in_search: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchDiagnostics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `iteration_timer` and `total_timer` are never read [INFO] [stdout] --> src/engine/search/searcher.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 216 | pub struct SearchTimer { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 217 | pub iteration_timer: Instant, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 218 | pub total_timer: Instant, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchTimer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `restart_iteration_timer`, `elapsed_iteration`, and `elapsed_total` are never used [INFO] [stdout] --> src/engine/search/searcher.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 228 | impl SearchTimer { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn restart_iteration_timer(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn elapsed_iteration(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn elapsed_total(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `flip_fen` is never used [INFO] [stdout] --> src/engine/utils/fen.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn flip_fen(fen: String) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `fen` is never read [INFO] [stdout] --> src/engine/utils/fen.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 186 | pub struct PositionInfo { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 187 | pub fen: String, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PositionInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `invert_case` is never used [INFO] [stdout] --> src/engine/utils/fen.rs:294:4 [INFO] [stdout] | [INFO] [stdout] 294 | fn invert_case(c: char) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PIECE_SIZE` is never used [INFO] [stdout] --> src/gui/mod.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const DEFAULT_PIECE_SIZE: f32 = 64.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_BOARD_SIZE` is never used [INFO] [stdout] --> src/gui/mod.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const DEFAULT_BOARD_SIZE: f32 = 8.0 * DEFAULT_PIECE_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PANEL_SIZE` is never used [INFO] [stdout] --> src/gui/mod.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const DEFAULT_PANEL_SIZE: f32 = 3.0 * DEFAULT_PIECE_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_APP_SIZE` is never used [INFO] [stdout] --> src/gui/mod.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const DEFAULT_APP_SIZE: f32 = DEFAULT_BOARD_SIZE + DEFAULT_PANEL_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `handle_event`, `maybe_update_textures`, `get_square_at_pos`, and `reset_game` are never used [INFO] [stdout] --> src/gui/game.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Cactus { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 9 | pub fn handle_event(&mut self, ctx: &Context, _frame: &mut Frame, ui: &mut Ui) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn maybe_update_textures(&mut self, ctx: &Context, square_size: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn get_square_at_pos(&self, pos: Pos2, board_rect: Rect) -> Option<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn reset_game(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `handle_pointer_pressed`, `handle_pointer_down`, `handle_pointer_released`, `handle_click_selection`, `handle_selection`, and `handle_game_over` are never used [INFO] [stdout] --> src/gui/handlers.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Cactus { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 9 | pub fn handle_pointer_pressed(&mut self, pos: Pos2, response: &Response) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn handle_pointer_down(&mut self, pos: Pos2) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn handle_pointer_released(&mut self, pos: Pos2, response: &Response) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn handle_click_selection(&mut self, response: &Response) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn handle_selection(&mut self, rank: usize, file: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn handle_game_over(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ICON` is never used [INFO] [stdout] --> src/gui/launch.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | static ICON: &[u8] = include_bytes!("../../assets/icon.png"); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cactus` is never constructed [INFO] [stdout] --> src/gui/launch.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Cactus { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/gui/launch.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Cactus { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 31 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `launch` is never used [INFO] [stdout] --> src/gui/launch.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn launch(white_engine: Option, black_engine: Option) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `render`, `render_promotion_popup`, `render_side_panel`, `render_player_label_and_captures`, `render_evaluation_bar`, and `render_game_over_popup` are never used [INFO] [stdout] --> src/gui/render.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Cactus { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 16 | pub fn render(&mut self, response: &Response, ctx: &Context) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn render_promotion_popup(&mut self, ctx: &Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn render_side_panel(&self, ctx: &eframe::egui::Context, board_rect: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | fn render_player_label_and_captures(&self, ui: &mut Ui, color: Color) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn render_evaluation_bar(&self, ui: &mut Ui, width: f32, height: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn render_game_over_popup(&mut self, ctx: &Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MOVE_SOUND` is never used [INFO] [stdout] --> src/gui/sound.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub static MOVE_SOUND: &[u8] = include_bytes!("../../assets/standard/Move.mp3"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CAPTURE_SOUND` is never used [INFO] [stdout] --> src/gui/sound.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub static CAPTURE_SOUND: &[u8] = include_bytes!("../../assets/standard/Capture.mp3"); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `GAME_OVER_SOUND` is never used [INFO] [stdout] --> src/gui/sound.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub static GAME_OVER_SOUND: &[u8] = include_bytes!("../../assets/standard/GenericNotify.mp3"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CONFIRMATION_SOUND` is never used [INFO] [stdout] --> src/gui/sound.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub static CONFIRMATION_SOUND: &[u8] = include_bytes!("../../assets/standard/Confirmation.mp3"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `play`, `move_sound`, `capture_sound`, `game_over_sound`, and `confirmation_sound` are never used [INFO] [stdout] --> src/gui/sound.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl Cactus { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 13 | fn play(handle: &OutputStream, bytes: &'static [u8]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn move_sound(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn capture_sound(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn game_over_sound(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn confirmation_sound(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has_sufficient_material` and `compute_position_hash` are never used [INFO] [stdout] --> src/moves/draw.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 9 | pub fn has_sufficient_material(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn compute_position_hash(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Move` is never constructed [INFO] [stdout] --> src/moves/moves.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Move { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_uci` is never used [INFO] [stdout] --> src/moves/moves.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Move { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 16 | pub fn to_uci(&self) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_castling_flags`, `update_en_passant_target`, `handle_en_passant`, `handle_castling`, and `validate_no_self_capture` are never used [INFO] [stdout] --> src/moves/moves.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 43 | pub fn update_castling_flags(&mut self, from: (usize, usize), piece: PieceKind) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn update_en_passant_target( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn handle_en_passant( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn handle_castling(&mut self, from: (usize, usize), to: (usize, usize)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn validate_no_self_capture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/moves/rules.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 8 | pub fn is_move_legal( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn is_valid_piece_move( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn validate_pawn_move( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn validate_knight_move(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn validate_bishop_move(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn validate_rook_move(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn validate_queen_move(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn validate_king_move(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn is_path_clear(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn is_in_check(&self, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn can_attack_square(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn find_king(&self, color: Color) -> Option<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn any_legal_move(&self, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `simulate_move` and `simulate_move_checked` are never used [INFO] [stdout] --> src/moves/simulate.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 8 | pub fn simulate_move( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn simulate_move_checked( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `maybe_white_engine` is assigned to, but never used [INFO] [stdout] --> src/main.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let mut maybe_white_engine: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_maybe_white_engine` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `maybe_black_engine` is assigned to, but never used [INFO] [stdout] --> src/main.rs:53:13 [INFO] [stdout] | [INFO] [stdout] 53 | let mut maybe_black_engine: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_maybe_black_engine` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `maybe_black_engine` is never read [INFO] [stdout] --> src/main.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | maybe_black_engine = engine; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `maybe_white_engine` is never read [INFO] [stdout] --> src/main.rs:61:13 [INFO] [stdout] | [INFO] [stdout] 61 | maybe_white_engine = engine; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `maybe_black_engine` is never read [INFO] [stdout] --> src/main.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | maybe_black_engine = Some(engine); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `maybe_white_engine` is never read [INFO] [stdout] --> src/main.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | maybe_white_engine = Some(engine); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STARTING_COLOR` is never used [INFO] [stdout] --> src/core/mod.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const STARTING_COLOR: Color = Color::White; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Color` is never used [INFO] [stdout] --> src/core/mod.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Color { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `opponent` is never used [INFO] [stdout] --> src/core/mod.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Color { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 13 | pub fn opponent(&self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Square` is never constructed [INFO] [stdout] --> src/core/board.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Square { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Board` is never constructed [INFO] [stdout] --> src/core/board.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Board { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Flags` is never constructed [INFO] [stdout] --> src/core/board.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Flags { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `State` is never used [INFO] [stdout] --> src/core/board.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | pub enum State { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Player` is never constructed [INFO] [stdout] --> src/core/board.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct Player { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_capture` is never used [INFO] [stdout] --> src/core/board.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl Player { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] 70 | pub fn add_capture(&mut self, piece: PieceKind) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Players` is never constructed [INFO] [stdout] --> src/core/board.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct Players { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/board.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 136 | impl Board { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 137 | pub fn is_valid_pos(pos: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn piece_at(&self, pos: (usize, usize)) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn center_at(&self, (rank, file): (usize, usize)) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn set_piece(&mut self, pos: (usize, usize), piece: Option) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn move_piece( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn update_state(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | pub fn refresh(&self, rect: Rect) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BLACK_BISHOP` is never used [INFO] [stdout] --> src/core/piece.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub static BLACK_BISHOP: &[u8] = include_bytes!("../../assets/cburnett/bB.svg"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BLACK_KING` is never used [INFO] [stdout] --> src/core/piece.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub static BLACK_KING: &[u8] = include_bytes!("../../assets/cburnett/bK.svg"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BLACK_KNIGHT` is never used [INFO] [stdout] --> src/core/piece.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub static BLACK_KNIGHT: &[u8] = include_bytes!("../../assets/cburnett/bN.svg"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BLACK_PAWN` is never used [INFO] [stdout] --> src/core/piece.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub static BLACK_PAWN: &[u8] = include_bytes!("../../assets/cburnett/bP.svg"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BLACK_QUEEN` is never used [INFO] [stdout] --> src/core/piece.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub static BLACK_QUEEN: &[u8] = include_bytes!("../../assets/cburnett/bQ.svg"); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BLACK_ROOK` is never used [INFO] [stdout] --> src/core/piece.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub static BLACK_ROOK: &[u8] = include_bytes!("../../assets/cburnett/bR.svg"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `WHITE_BISHOP` is never used [INFO] [stdout] --> src/core/piece.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub static WHITE_BISHOP: &[u8] = include_bytes!("../../assets/cburnett/wB.svg"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `WHITE_KING` is never used [INFO] [stdout] --> src/core/piece.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub static WHITE_KING: &[u8] = include_bytes!("../../assets/cburnett/wK.svg"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `WHITE_KNIGHT` is never used [INFO] [stdout] --> src/core/piece.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub static WHITE_KNIGHT: &[u8] = include_bytes!("../../assets/cburnett/wN.svg"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `WHITE_PAWN` is never used [INFO] [stdout] --> src/core/piece.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub static WHITE_PAWN: &[u8] = include_bytes!("../../assets/cburnett/wP.svg"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `WHITE_QUEEN` is never used [INFO] [stdout] --> src/core/piece.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub static WHITE_QUEEN: &[u8] = include_bytes!("../../assets/cburnett/wQ.svg"); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `WHITE_ROOK` is never used [INFO] [stdout] --> src/core/piece.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub static WHITE_ROOK: &[u8] = include_bytes!("../../assets/cburnett/wR.svg"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Piece` is never constructed [INFO] [stdout] --> src/core/piece.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Piece<'a> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PieceKind` is never used [INFO] [stdout] --> src/core/piece.rs:27:10 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum PieceKind { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PieceType` is never used [INFO] [stdout] --> src/core/piece.rs:43:10 [INFO] [stdout] | [INFO] [stdout] 43 | pub enum PieceType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `color`, `to_type`, and `score` are never used [INFO] [stdout] --> src/core/piece.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl PieceKind { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 53 | pub fn new(piece_type: PieceType, color: Color) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn color(&self) -> Color { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn to_type(&self) -> PieceType { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn score(&self) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_kind` is never used [INFO] [stdout] --> src/core/piece.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 114 | impl<'a> Piece<'a> { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 115 | pub fn from_kind(kind: PieceKind) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PieceImages` is never constructed [INFO] [stdout] --> src/core/piece.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 135 | pub struct PieceImages { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update_textures`, `get_texture`, `get_capture`, and `svg_to_image` are never used [INFO] [stdout] --> src/core/piece.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 140 | impl PieceImages { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 141 | pub fn new(ctx: &Context, pixel_size: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn update_textures(&mut self, ctx: &egui::Context, pixel_size: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn get_texture(&self, kind: PieceKind) -> &TextureHandle { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn get_capture(&self, kind: PieceKind) -> &TextureHandle { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | fn svg_to_image(svg_data: &[u8], size: f32) -> ColorImage { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `cmd_sender` and `response_receiver` are never read [INFO] [stdout] --> src/coupling/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct EngineHandle { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 11 | pub cmd_sender: Sender, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 12 | pub response_receiver: Receiver, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EngineHandle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `send_command` and `try_receive_response` are never used [INFO] [stdout] --> src/coupling/mod.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl EngineHandle { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 16 | pub fn send_command(&self, cmd: String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn try_receive_response(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `parse_uci_move`, `move_history_uci`, and `apply_uci_move` are never used [INFO] [stdout] --> src/coupling/integration.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 12 | pub fn parse_uci_move(&self, uci: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn move_history_uci(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn apply_uci_move(&mut self, uci: &str) -> (Option, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `try_engine_turn` and `is_engine_turn` are never used [INFO] [stdout] --> src/coupling/integration.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 69 | impl Cactus { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 70 | pub fn try_engine_turn(&mut self, thinking_time_ms: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn is_engine_turn(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `uci_word` is never used [INFO] [stdout] --> src/coupling/integration.rs:120:8 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn uci_word(line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_on_move_chosen` is never used [INFO] [stdout] --> src/engine/driver.rs:156:8 [INFO] [stdout] | [INFO] [stdout] 51 | impl CactusEngine { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 156 | fn set_on_move_chosen(&self, sender: S) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ENDGAME_MATERIAL_START` is never used [INFO] [stdout] --> src/engine/eval/evaluation.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const ENDGAME_MATERIAL_START: f32 = (ROOK_VALUE * 2 + BISHOP_VALUE + KNIGHT_VALUE) as f32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ENDGAME_MULTIPLIER` is never used [INFO] [stdout] --> src/engine/eval/evaluation.rs:31:7 [INFO] [stdout] | [INFO] [stdout] 31 | const ENDGAME_MULTIPLIER: f32 = 1.0 / ENDGAME_MATERIAL_START; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `endgame_phase_weight` and `count_material` are never used [INFO] [stdout] --> src/engine/eval/evaluation.rs:204:8 [INFO] [stdout] | [INFO] [stdout] 84 | impl Evaluation { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 204 | fn endgame_phase_weight(material_count_without_pawns: i32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn count_material(&self, board: &Board, color: Color) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `num_pawns`, `num_majors`, `num_minors`, and `num_bishops` are never read [INFO] [stdout] --> src/engine/eval/evaluation.rs:374:9 [INFO] [stdout] | [INFO] [stdout] 371 | pub struct MaterialInfo { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 374 | pub num_pawns: i32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 375 | pub num_majors: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 376 | pub num_minors: i32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 377 | pub num_bishops: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MaterialInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GameResult` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum GameResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_draw` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn is_draw(result: GameResult) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_win` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn is_win(result: GameResult) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `white_winner` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn white_winner(result: GameResult) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `black_winner` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn black_winner(result: GameResult) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_game_state` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn get_game_state(board: &mut Board) -> GameResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insufficient_material` is never used [INFO] [stdout] --> src/engine/game/arbiter.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn insufficient_material(board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `E1` is never used [INFO] [stdout] --> src/engine/game/board.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | pub const E1: i32 = 4; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `E8` is never used [INFO] [stdout] --> src/engine/game/board.rs:49:11 [INFO] [stdout] | [INFO] [stdout] 49 | pub const E8: i32 = 60; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_in_check` is never used [INFO] [stdout] --> src/engine/game/board.rs:481:12 [INFO] [stdout] | [INFO] [stdout] 117 | impl Board { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 481 | pub fn is_in_check(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `board_from_fen`, `board_from_other`, and `pgn` are never used [INFO] [stdout] --> src/engine/game/board.rs:656:12 [INFO] [stdout] | [INFO] [stdout] 655 | impl Board { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 656 | pub fn board_from_fen(fen: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 663 | pub fn board_from_other(other: &Board) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 752 | pub fn pgn(&mut self, result: GameResult, white_name: &str, black_name: &str) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_pgn` is never used [INFO] [stdout] --> src/engine/game/board.rs:763:8 [INFO] [stdout] | [INFO] [stdout] 763 | pub fn create_pgn( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `promotion_type` is never used [INFO] [stdout] --> src/engine/game/move.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl Move { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn promotion_type(&self) -> Piece { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_san` and `to_san` are never used [INFO] [stdout] --> src/engine/game/move.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 96 | impl Move { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn from_san(board: &mut Board, algebraic_move: String) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub fn to_san(&self, board: &mut Board) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pgn_from_moves` is never used [INFO] [stdout] --> src/engine/game/move.rs:379:8 [INFO] [stdout] | [INFO] [stdout] 379 | pub fn pgn_from_moves(moves: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_value` and `can_slide` are never used [INFO] [stdout] --> src/engine/game/piece.rs:134:12 [INFO] [stdout] | [INFO] [stdout] 98 | impl Piece { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn get_value(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn can_slide(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `white_pawn_support`, `black_pawn_support`, `king_safety`, `white_forward_file`, `black_forward_file`, and `triple_file` are never read [INFO] [stdout] --> src/engine/generate/bitboard.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct BitMasks { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 52 | pub white_pawn_support: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | pub black_pawn_support: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub king_safety: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 59 | [INFO] [stdout] 60 | pub white_forward_file: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 61 | pub black_forward_file: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 62 | [INFO] [stdout] 63 | pub triple_file: [u64; 8], [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BitMasks` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `clear_square` is never used [INFO] [stdout] --> src/engine/generate/bitboard.rs:212:12 [INFO] [stdout] | [INFO] [stdout] 201 | impl BitBoard { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn clear_square(bb: &mut u64, square_idx: i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Queen` and `QueenAndKnight` are never constructed [INFO] [stdout] --> src/engine/generate/move_generator.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum PromotionMode { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 20 | All, [INFO] [stdout] 21 | Queen, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 22 | QueenAndKnight, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PromotionMode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAWN_ATTACK_DIRECTIONS` is never used [INFO] [stdout] --> src/engine/generate/move_generator.rs:722:11 [INFO] [stdout] | [INFO] [stdout] 722 | pub const PAWN_ATTACK_DIRECTIONS: [[u8; 2]; 2] = [[4, 6], [7, 5]]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `num_rook_moves_to_reach_square` and `num_king_moves_to_reach_square` are never used [INFO] [stdout] --> src/engine/generate/move_generator.rs:968:12 [INFO] [stdout] | [INFO] [stdout] 967 | impl PrecomputedMoveData { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 968 | pub fn num_rook_moves_to_reach_square(&self, start_square: i32, target_square: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 972 | pub fn num_king_moves_to_reach_square(&self, start_square: i32, target_square: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `push`, `try_pop`, and `contains` are never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl RepetitionTable { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn push(&mut self, hash: u64, reset: bool) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn try_pop(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn contains(&self, hash: u64) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOOKUP_FAILED` is never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | pub const LOOKUP_FAILED: i32 = -1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXACT` is never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | pub const EXACT: i32 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOWER_BOUND` is never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:68:11 [INFO] [stdout] | [INFO] [stdout] 68 | pub const LOWER_BOUND: i32 = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UPPER_BOUND` is never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub const UPPER_BOUND: i32 = 2; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `count` and `enabled` are never read [INFO] [stdout] --> src/engine/search/lu_tables.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct TranspositionTable { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 74 | pub entries: Vec>, [INFO] [stdout] 75 | pub count: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 76 | pub enabled: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TranspositionTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `index`, `try_get_stored_move`, `lookup_evaluation`, and `store_evaluation` are never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl TranspositionTable { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn index(&self, board: &Board) -> usize { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn try_get_stored_move(&self, board: &Board) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn lookup_evaluation( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn store_evaluation( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `correct_mate_score_for_storage` and `correct_retrieved_mate_score` are never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 167 | impl TranspositionTable { [INFO] [stdout] | ----------------------- associated functions in this implementation [INFO] [stdout] 168 | fn correct_mate_score_for_storage(score: i32, num_ply_searched: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn correct_retrieved_mate_score(score: i32, num_ply_searched: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `key`, `value`, `mv`, `depth`, and `node_type` are never read [INFO] [stdout] --> src/engine/search/lu_tables.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 186 | pub struct Entry { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 187 | pub key: u64, [INFO] [stdout] | ^^^ [INFO] [stdout] 188 | pub value: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 189 | pub mv: Move, [INFO] [stdout] | ^^ [INFO] [stdout] 190 | pub depth: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 191 | pub node_type: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Entry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/engine/search/lu_tables.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 194 | impl Entry { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn new(key: u64, value: i32, mv: Move, depth: u8, node_type: u8) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `add` are never used [INFO] [stdout] --> src/engine/search/move_ordering.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 162 | impl Killers { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 163 | pub fn new(move_a: Move, move_b: Move) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn add(&mut self, mv: Move) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_EXTENSIONS` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const MAX_EXTENSIONS: i32 = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IMMEDIATE_MATE_SCORE` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const IMMEDIATE_MATE_SCORE: i32 = 100000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `REDUCE_DEPTH` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const REDUCE_DEPTH: i32 = 1; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_MATE_DEPTH` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const MAX_MATE_DEPTH: i32 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PLY` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const MAX_PLY: i32 = 256; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `has_searched_at_least_one_move` and `current_iteration_depth` are never read [INFO] [stdout] --> src/engine/search/searcher.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Searcher { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 31 | has_searched_at_least_one_move: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | current_iteration_depth: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Searcher` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `flush_log` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl Searcher { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn flush_log(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_mate_score` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:186:8 [INFO] [stdout] | [INFO] [stdout] 186 | pub fn is_mate_score(score: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `num_ply_to_mate_from_score` is never used [INFO] [stdout] --> src/engine/search/searcher.rs:194:8 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn num_ply_to_mate_from_score(score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/engine/search/searcher.rs:200:9 [INFO] [stdout] | [INFO] [stdout] 199 | pub struct SearchDiagnostics { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 200 | pub num_completed_iterations: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 201 | pub num_positions_evaluated: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 202 | pub num_cutoffs: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 203 | [INFO] [stdout] 204 | pub move_val: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 205 | pub mv: String, [INFO] [stdout] | ^^ [INFO] [stdout] 206 | pub eval: i32, [INFO] [stdout] | ^^^^ [INFO] [stdout] 207 | pub move_is_from_partial_search: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 208 | pub num_q_checks: i32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 209 | pub num_q_mates: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 210 | [INFO] [stdout] 211 | pub is_book: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 212 | pub max_extension_reached_in_search: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchDiagnostics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `iteration_timer` and `total_timer` are never read [INFO] [stdout] --> src/engine/search/searcher.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 216 | pub struct SearchTimer { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 217 | pub iteration_timer: Instant, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 218 | pub total_timer: Instant, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchTimer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `restart_iteration_timer`, `elapsed_iteration`, and `elapsed_total` are never used [INFO] [stdout] --> src/engine/search/searcher.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 228 | impl SearchTimer { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn restart_iteration_timer(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn elapsed_iteration(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn elapsed_total(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `flip_fen` is never used [INFO] [stdout] --> src/engine/utils/fen.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn flip_fen(fen: String) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `fen` is never read [INFO] [stdout] --> src/engine/utils/fen.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 186 | pub struct PositionInfo { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 187 | pub fen: String, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PositionInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `invert_case` is never used [INFO] [stdout] --> src/engine/utils/fen.rs:294:4 [INFO] [stdout] | [INFO] [stdout] 294 | fn invert_case(c: char) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PIECE_SIZE` is never used [INFO] [stdout] --> src/gui/mod.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const DEFAULT_PIECE_SIZE: f32 = 64.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_BOARD_SIZE` is never used [INFO] [stdout] --> src/gui/mod.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const DEFAULT_BOARD_SIZE: f32 = 8.0 * DEFAULT_PIECE_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PANEL_SIZE` is never used [INFO] [stdout] --> src/gui/mod.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const DEFAULT_PANEL_SIZE: f32 = 3.0 * DEFAULT_PIECE_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_APP_SIZE` is never used [INFO] [stdout] --> src/gui/mod.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const DEFAULT_APP_SIZE: f32 = DEFAULT_BOARD_SIZE + DEFAULT_PANEL_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `handle_event`, `maybe_update_textures`, `get_square_at_pos`, and `reset_game` are never used [INFO] [stdout] --> src/gui/game.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Cactus { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 9 | pub fn handle_event(&mut self, ctx: &Context, _frame: &mut Frame, ui: &mut Ui) -> Response { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn maybe_update_textures(&mut self, ctx: &Context, square_size: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn get_square_at_pos(&self, pos: Pos2, board_rect: Rect) -> Option<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn reset_game(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `handle_pointer_pressed`, `handle_pointer_down`, `handle_pointer_released`, `handle_click_selection`, `handle_selection`, and `handle_game_over` are never used [INFO] [stdout] --> src/gui/handlers.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Cactus { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 9 | pub fn handle_pointer_pressed(&mut self, pos: Pos2, response: &Response) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn handle_pointer_down(&mut self, pos: Pos2) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn handle_pointer_released(&mut self, pos: Pos2, response: &Response) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn handle_click_selection(&mut self, response: &Response) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn handle_selection(&mut self, rank: usize, file: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn handle_game_over(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ICON` is never used [INFO] [stdout] --> src/gui/launch.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | static ICON: &[u8] = include_bytes!("../../assets/icon.png"); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cactus` is never constructed [INFO] [stdout] --> src/gui/launch.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Cactus { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/gui/launch.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Cactus { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 31 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `launch` is never used [INFO] [stdout] --> src/gui/launch.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn launch(white_engine: Option, black_engine: Option) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `render`, `render_promotion_popup`, `render_side_panel`, `render_player_label_and_captures`, `render_evaluation_bar`, and `render_game_over_popup` are never used [INFO] [stdout] --> src/gui/render.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Cactus { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 16 | pub fn render(&mut self, response: &Response, ctx: &Context) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn render_promotion_popup(&mut self, ctx: &Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | pub fn render_side_panel(&self, ctx: &eframe::egui::Context, board_rect: Rect) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | fn render_player_label_and_captures(&self, ui: &mut Ui, color: Color) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn render_evaluation_bar(&self, ui: &mut Ui, width: f32, height: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn render_game_over_popup(&mut self, ctx: &Context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MOVE_SOUND` is never used [INFO] [stdout] --> src/gui/sound.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub static MOVE_SOUND: &[u8] = include_bytes!("../../assets/standard/Move.mp3"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CAPTURE_SOUND` is never used [INFO] [stdout] --> src/gui/sound.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub static CAPTURE_SOUND: &[u8] = include_bytes!("../../assets/standard/Capture.mp3"); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `GAME_OVER_SOUND` is never used [INFO] [stdout] --> src/gui/sound.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub static GAME_OVER_SOUND: &[u8] = include_bytes!("../../assets/standard/GenericNotify.mp3"); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CONFIRMATION_SOUND` is never used [INFO] [stdout] --> src/gui/sound.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub static CONFIRMATION_SOUND: &[u8] = include_bytes!("../../assets/standard/Confirmation.mp3"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `play`, `move_sound`, `capture_sound`, `game_over_sound`, and `confirmation_sound` are never used [INFO] [stdout] --> src/gui/sound.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl Cactus { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 13 | fn play(handle: &OutputStream, bytes: &'static [u8]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn move_sound(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn capture_sound(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn game_over_sound(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn confirmation_sound(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has_sufficient_material` and `compute_position_hash` are never used [INFO] [stdout] --> src/moves/draw.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 9 | pub fn has_sufficient_material(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn compute_position_hash(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Move` is never constructed [INFO] [stdout] --> src/moves/moves.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Move { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_uci` is never used [INFO] [stdout] --> src/moves/moves.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Move { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 16 | pub fn to_uci(&self) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_castling_flags`, `update_en_passant_target`, `handle_en_passant`, `handle_castling`, and `validate_no_self_capture` are never used [INFO] [stdout] --> src/moves/moves.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 43 | pub fn update_castling_flags(&mut self, from: (usize, usize), piece: PieceKind) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn update_en_passant_target( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn handle_en_passant( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn handle_castling(&mut self, from: (usize, usize), to: (usize, usize)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn validate_no_self_capture( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/moves/rules.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 8 | pub fn is_move_legal( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn is_valid_piece_move( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn validate_pawn_move( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn validate_knight_move(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn validate_bishop_move(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn validate_rook_move(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn validate_queen_move(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn validate_king_move(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn is_path_clear(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn is_in_check(&self, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn can_attack_square(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn find_king(&self, color: Color) -> Option<(usize, usize)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn any_legal_move(&self, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `simulate_move` and `simulate_move_checked` are never used [INFO] [stdout] --> src/moves/simulate.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Board { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 8 | pub fn simulate_move( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn simulate_move_checked( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 36s [INFO] running `Command { std: "docker" "inspect" "1a7e399c9c553cec9321679cf567c35fa3b67fbd80db0e7f6e45120174eba72a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1a7e399c9c553cec9321679cf567c35fa3b67fbd80db0e7f6e45120174eba72a", kill_on_drop: false }` [INFO] [stdout] 1a7e399c9c553cec9321679cf567c35fa3b67fbd80db0e7f6e45120174eba72a