[INFO] cloning repository https://github.com/ahwuoc/GameNro [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ahwuoc/GameNro" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fahwuoc%2FGameNro", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fahwuoc%2FGameNro'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f77b000adcf23802dc4020be1efe981c49cc7a9c [INFO] checking ahwuoc/GameNro against try#a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d for pr-145342-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fahwuoc%2FGameNro" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 16% (10983/65339) Updating files: 17% (11108/65339) Updating files: 18% (11762/65339) Updating files: 19% (12415/65339) Updating files: 20% (13068/65339) Updating files: 21% (13722/65339) Updating files: 22% (14375/65339) Updating files: 23% (15028/65339) Updating files: 24% (15682/65339) Updating files: 25% (16335/65339) Updating files: 26% (16989/65339) Updating files: 27% (17642/65339) Updating files: 28% (18295/65339) Updating files: 29% (18949/65339) Updating files: 30% (19602/65339) Updating files: 31% (20256/65339) Updating files: 31% (20789/65339) Updating files: 32% (20909/65339) Updating files: 33% (21562/65339) Updating files: 34% (22216/65339) Updating files: 35% (22869/65339) Updating files: 36% (23523/65339) Updating files: 37% (24176/65339) Updating files: 38% (24829/65339) Updating files: 39% (25483/65339) Updating files: 40% (26136/65339) Updating files: 41% (26789/65339) Updating files: 42% (27443/65339) Updating files: 43% (28096/65339) Updating files: 44% (28750/65339) Updating files: 45% (29403/65339) Updating files: 46% (30056/65339) Updating files: 47% (30710/65339) Updating files: 48% (31363/65339) Updating files: 49% (32017/65339) Updating files: 49% (32223/65339) Updating files: 50% (32670/65339) Updating files: 51% (33323/65339) Updating files: 52% (33977/65339) Updating files: 53% (34630/65339) Updating files: 54% (35284/65339) Updating files: 55% (35937/65339) Updating files: 56% (36590/65339) Updating files: 57% (37244/65339) Updating files: 58% (37897/65339) Updating files: 59% (38551/65339) Updating files: 60% (39204/65339) Updating files: 61% (39857/65339) Updating files: 62% (40511/65339) Updating files: 63% (41164/65339) Updating files: 64% (41817/65339) Updating files: 64% (42362/65339) Updating files: 65% (42471/65339) Updating files: 66% (43124/65339) Updating files: 67% (43778/65339) Updating files: 68% (44431/65339) Updating files: 69% (45084/65339) Updating files: 70% (45738/65339) Updating files: 71% (46391/65339) Updating files: 72% (47045/65339) Updating files: 73% (47698/65339) Updating files: 74% (48351/65339) Updating files: 75% (49005/65339) Updating files: 76% (49658/65339) Updating files: 76% (49854/65339) Updating files: 77% (50312/65339) Updating files: 78% (50965/65339) Updating files: 79% (51618/65339) Updating files: 80% (52272/65339) Updating files: 81% (52925/65339) Updating files: 82% (53578/65339) Updating files: 83% (54232/65339) Updating files: 84% (54885/65339) Updating files: 85% (55539/65339) Updating files: 86% (56192/65339) Updating files: 87% (56845/65339) Updating files: 88% (57499/65339) Updating files: 88% (57766/65339) Updating files: 89% (58152/65339) Updating files: 90% (58806/65339) Updating files: 91% (59459/65339) Updating files: 92% (60112/65339) Updating files: 93% (60766/65339) Updating files: 94% (61419/65339) Updating files: 94% (61651/65339) Updating files: 95% (62073/65339) Updating files: 96% (62726/65339) Updating files: 97% (63379/65339) Updating files: 98% (64033/65339) Updating files: 99% (64686/65339) Updating files: 100% (65339/65339) Updating files: 100% (65339/65339), done. [INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/ahwuoc/GameNro [INFO] finished tweaking git repo https://github.com/ahwuoc/GameNro [INFO] tweaked toml for git repo https://github.com/ahwuoc/GameNro written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ahwuoc/GameNro on toolchain a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ahwuoc/GameNro 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" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 59a1645746ae014b8913a55bd7ab3b1e32e93a0944979f8110d2c9ba88bd33aa [INFO] running `Command { std: "docker" "start" "-a" "59a1645746ae014b8913a55bd7ab3b1e32e93a0944979f8110d2c9ba88bd33aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "59a1645746ae014b8913a55bd7ab3b1e32e93a0944979f8110d2c9ba88bd33aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "59a1645746ae014b8913a55bd7ab3b1e32e93a0944979f8110d2c9ba88bd33aa", kill_on_drop: false }` [INFO] [stdout] 59a1645746ae014b8913a55bd7ab3b1e32e93a0944979f8110d2c9ba88bd33aa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 852e6e26384c1369f61cc84f213dcabb294d0aa776c32ba5f8a1a733001301bf [INFO] running `Command { std: "docker" "start" "-a" "852e6e26384c1369f61cc84f213dcabb294d0aa776c32ba5f8a1a733001301bf", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Compiling const-oid v0.9.6 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling writeable v0.6.1 [INFO] [stderr] Compiling cc v1.2.31 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling litemap v0.8.0 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling rust_decimal v1.37.2 [INFO] [stderr] Compiling serde_json v1.0.142 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling time-core v0.1.4 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling time-macros v0.2.22 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling base64ct v1.8.0 [INFO] [stderr] Compiling num-bigint-dig v0.8.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling pem-rfc7468 v0.7.0 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling deranged v0.4.0 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling tinyvec v1.9.0 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling slab v0.4.10 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Compiling iana-time-zone v0.1.63 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling sqlformat v0.2.6 [INFO] [stderr] Compiling unicode-normalization v0.1.24 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling crc v3.3.0 [INFO] [stderr] Compiling rustls-pemfile v1.0.4 [INFO] [stderr] Compiling hashlink v0.8.4 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling pkcs1 v0.7.5 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling bigdecimal v0.3.1 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Checking signal-hook-registry v1.4.5 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling webpki-roots v0.25.4 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling unicode-bidi v0.3.18 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling uuid v1.17.0 [INFO] [stderr] Compiling unicode-properties v0.1.3 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling rsa v0.9.8 [INFO] [stderr] Compiling stringprep v0.1.5 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Compiling whoami v1.6.0 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [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 serde_derive v1.0.219 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling inherent v1.0.12 [INFO] [stderr] Checking zerovec v0.11.4 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Checking ordered-float v3.9.2 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Checking aliasable v0.1.3 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Compiling ouroboros_macro v0.17.2 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Checking strum v0.25.0 [INFO] [stderr] Checking dotenv v0.15.0 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling sea-bae v0.2.1 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking potential_utf v0.1.2 [INFO] [stderr] Compiling sea-orm-macros v0.12.15 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking ouroboros v0.17.2 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling sqlx-core v0.7.4 [INFO] [stderr] Compiling tempfile v3.20.0 [INFO] [stderr] Checking sea-query v0.30.7 [INFO] [stderr] Compiling sqlx-mysql v0.7.4 [INFO] [stderr] Compiling sqlx-macros-core v0.7.4 [INFO] [stderr] Compiling sqlx-macros v0.7.4 [INFO] [stderr] Checking sqlx v0.7.4 [INFO] [stderr] Checking sea-query-binder v0.5.0 [INFO] [stderr] Checking sea-orm v0.12.15 [INFO] [stderr] Checking gamenro v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `super::account::Entity as Account` [INFO] [stdout] --> src/entities/prelude.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub use super::account::Entity as Account; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::achievement_template::Entity as AchievementTemplate` [INFO] [stdout] --> src/entities/prelude.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use super::achievement_template::Entity as AchievementTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::array_head_2_frames::Entity as ArrayHead2Frames` [INFO] [stdout] --> src/entities/prelude.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use super::array_head_2_frames::Entity as ArrayHead2Frames; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::bank_accounts::Entity as BankAccounts` [INFO] [stdout] --> src/entities/prelude.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use super::bank_accounts::Entity as BankAccounts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::bg_item_template::Entity as BgItemTemplate` [INFO] [stdout] --> src/entities/prelude.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub use super::bg_item_template::Entity as BgItemTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::box_item_actions::Entity as BoxItemActions` [INFO] [stdout] --> src/entities/prelude.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub use super::box_item_actions::Entity as BoxItemActions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::box_item_drop_options::Entity as BoxItemDropOptions` [INFO] [stdout] --> src/entities/prelude.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use super::box_item_drop_options::Entity as BoxItemDropOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::box_item_drops::Entity as BoxItemDrops` [INFO] [stdout] --> src/entities/prelude.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use super::box_item_drops::Entity as BoxItemDrops; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::caption::Entity as Caption` [INFO] [stdout] --> src/entities/prelude.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use super::caption::Entity as Caption; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::categories_news::Entity as CategoriesNews` [INFO] [stdout] --> src/entities/prelude.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use super::categories_news::Entity as CategoriesNews; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::clan_sv1::Entity as ClanSv1` [INFO] [stdout] --> src/entities/prelude.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub use super::clan_sv1::Entity as ClanSv1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::clan_sv2::Entity as ClanSv2` [INFO] [stdout] --> src/entities/prelude.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub use super::clan_sv2::Entity as ClanSv2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::comment::Entity as Comment` [INFO] [stdout] --> src/entities/prelude.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use super::comment::Entity as Comment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::comments::Entity as Comments` [INFO] [stdout] --> src/entities/prelude.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use super::comments::Entity as Comments; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::cpanel::Entity as Cpanel` [INFO] [stdout] --> src/entities/prelude.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use super::cpanel::Entity as Cpanel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::dhvt_template::Entity as DhvtTemplate` [INFO] [stdout] --> src/entities/prelude.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub use super::dhvt_template::Entity as DhvtTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::flag_bag::Entity as FlagBag` [INFO] [stdout] --> src/entities/prelude.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use super::flag_bag::Entity as FlagBag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::giftcode::Entity as Giftcode` [INFO] [stdout] --> src/entities/prelude.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use super::giftcode::Entity as Giftcode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::giftcode_item_options::Entity as GiftcodeItemOptions` [INFO] [stdout] --> src/entities/prelude.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use super::giftcode_item_options::Entity as GiftcodeItemOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::giftcode_items::Entity as GiftcodeItems` [INFO] [stdout] --> src/entities/prelude.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use super::giftcode_items::Entity as GiftcodeItems; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::head_avatar::Entity as HeadAvatar` [INFO] [stdout] --> src/entities/prelude.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub use super::head_avatar::Entity as HeadAvatar; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::history_event::Entity as HistoryEvent` [INFO] [stdout] --> src/entities/prelude.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub use super::history_event::Entity as HistoryEvent; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::history_giftcode::Entity as HistoryGiftcode` [INFO] [stdout] --> src/entities/prelude.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub use super::history_giftcode::Entity as HistoryGiftcode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::history_gold::Entity as HistoryGold` [INFO] [stdout] --> src/entities/prelude.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub use super::history_gold::Entity as HistoryGold; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::img_by_name::Entity as ImgByName` [INFO] [stdout] --> src/entities/prelude.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | pub use super::img_by_name::Entity as ImgByName; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::intrinsic::Entity as Intrinsic` [INFO] [stdout] --> src/entities/prelude.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub use super::intrinsic::Entity as Intrinsic; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::item_option_template::Entity as ItemOptionTemplate` [INFO] [stdout] --> src/entities/prelude.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub use super::item_option_template::Entity as ItemOptionTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::item_shop::Entity as ItemShop` [INFO] [stdout] --> src/entities/prelude.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub use super::item_shop::Entity as ItemShop; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::item_shop_option::Entity as ItemShopOption` [INFO] [stdout] --> src/entities/prelude.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use super::item_shop_option::Entity as ItemShopOption; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::item_template::Entity as ItemTemplate` [INFO] [stdout] --> src/entities/prelude.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub use super::item_template::Entity as ItemTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::map_template::Entity as MapTemplate` [INFO] [stdout] --> src/entities/prelude.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub use super::map_template::Entity as MapTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::market_item_options::Entity as MarketItemOptions` [INFO] [stdout] --> src/entities/prelude.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub use super::market_item_options::Entity as MarketItemOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::market_items::Entity as MarketItems` [INFO] [stdout] --> src/entities/prelude.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub use super::market_items::Entity as MarketItems; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::mob_template::Entity as MobTemplate` [INFO] [stdout] --> src/entities/prelude.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub use super::mob_template::Entity as MobTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::naptien::Entity as Naptien` [INFO] [stdout] --> src/entities/prelude.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub use super::naptien::Entity as Naptien; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::nclass::Entity as Nclass` [INFO] [stdout] --> src/entities/prelude.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use super::nclass::Entity as Nclass; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::news::Entity as News` [INFO] [stdout] --> src/entities/prelude.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | pub use super::news::Entity as News; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::npc_template::Entity as NpcTemplate` [INFO] [stdout] --> src/entities/prelude.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub use super::npc_template::Entity as NpcTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::orders::Entity as Orders` [INFO] [stdout] --> src/entities/prelude.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use super::orders::Entity as Orders; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::player::Entity as Player` [INFO] [stdout] --> src/entities/prelude.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | pub use super::player::Entity as Player; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::post_question::Entity as PostQuestion` [INFO] [stdout] --> src/entities/prelude.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub use super::post_question::Entity as PostQuestion; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::posts::Entity as Posts` [INFO] [stdout] --> src/entities/prelude.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | pub use super::posts::Entity as Posts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::radar::Entity as Radar` [INFO] [stdout] --> src/entities/prelude.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | pub use super::radar::Entity as Radar; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::received_items::Entity as ReceivedItems` [INFO] [stdout] --> src/entities/prelude.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | pub use super::received_items::Entity as ReceivedItems; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::received_items_options::Entity as ReceivedItemsOptions` [INFO] [stdout] --> src/entities/prelude.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub use super::received_items_options::Entity as ReceivedItemsOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::recharge_card::Entity as RechargeCard` [INFO] [stdout] --> src/entities/prelude.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub use super::recharge_card::Entity as RechargeCard; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::resources::Entity as Resources` [INFO] [stdout] --> src/entities/prelude.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | pub use super::resources::Entity as Resources; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::server_bank_accounts::Entity as ServerBankAccounts` [INFO] [stdout] --> src/entities/prelude.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | pub use super::server_bank_accounts::Entity as ServerBankAccounts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::shared_images::Entity as SharedImages` [INFO] [stdout] --> src/entities/prelude.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | pub use super::shared_images::Entity as SharedImages; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::shop::Entity as Shop` [INFO] [stdout] --> src/entities/prelude.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | pub use super::shop::Entity as Shop; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::shop_ky_gui::Entity as ShopKyGui` [INFO] [stdout] --> src/entities/prelude.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | pub use super::shop_ky_gui::Entity as ShopKyGui; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::side_task_template::Entity as SideTaskTemplate` [INFO] [stdout] --> src/entities/prelude.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | pub use super::side_task_template::Entity as SideTaskTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::skill_template::Entity as SkillTemplate` [INFO] [stdout] --> src/entities/prelude.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | pub use super::skill_template::Entity as SkillTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::small_version::Entity as SmallVersion` [INFO] [stdout] --> src/entities/prelude.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | pub use super::small_version::Entity as SmallVersion; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::tab_shop::Entity as TabShop` [INFO] [stdout] --> src/entities/prelude.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | pub use super::tab_shop::Entity as TabShop; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::task_main_template::Entity as TaskMainTemplate` [INFO] [stdout] --> src/entities/prelude.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | pub use super::task_main_template::Entity as TaskMainTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::tb_transactions::Entity as TbTransactions` [INFO] [stdout] --> src/entities/prelude.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | pub use super::tb_transactions::Entity as TbTransactions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::type_item::Entity as TypeItem` [INFO] [stdout] --> src/entities/prelude.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub use super::type_item::Entity as TypeItem; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::type_map::Entity as TypeMap` [INFO] [stdout] --> src/entities/prelude.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub use super::type_map::Entity as TypeMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::type_sell_item_shop::Entity as TypeSellItemShop` [INFO] [stdout] --> src/entities/prelude.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | pub use super::type_sell_item_shop::Entity as TypeSellItemShop; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::withdrawals::Entity as Withdrawals` [INFO] [stdout] --> src/entities/prelude.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub use super::withdrawals::Entity as Withdrawals; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io` [INFO] [stdout] --> src/network/mod.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{env, io}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::player::Player as RtPlayer` [INFO] [stdout] --> src/network/async_net/controller.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::player::Player as RtPlayer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::map::zone_manager::ZoneManager` [INFO] [stdout] --> src/network/async_net/controller.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::map::zone_manager::ZoneManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/network/async_net/controller.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/player/player.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::item::inventory::{self, Inventory}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::network::async_net::session::AsyncSession` [INFO] [stdout] --> src/player/player_service.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::network::async_net::session::AsyncSession; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::map::Zone` [INFO] [stdout] --> src/player/player_service.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::map::Zone; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_dao as PlayerDao` [INFO] [stdout] --> src/player/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use player_dao as PlayerDao; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_service::PlayerService` [INFO] [stdout] --> src/player/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use player_service::PlayerService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_skill::PlayerSkill` [INFO] [stdout] --> src/player/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use player_skill::PlayerSkill; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_friend::Friend as PlayerFriend` [INFO] [stdout] --> src/player/mod.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub use player_friend::Friend as PlayerFriend; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `n_point::NPoint` [INFO] [stdout] --> src/player/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use n_point::NPoint; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_intrinsic::PlayerIntrinsic` [INFO] [stdout] --> src/player/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use player_intrinsic::PlayerIntrinsic; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_item_time::PlayerItemTime` [INFO] [stdout] --> src/player/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use player_item_time::PlayerItemTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/map/map.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/map/zone.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::item::Item` [INFO] [stdout] --> src/map/item_map.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::item::Item` [INFO] [stdout] --> src/map/item_map_service.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::item_option::ItemOption` [INFO] [stdout] --> src/map/item_map_service.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::item::item_option::ItemOption; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `map_service::MapService` [INFO] [stdout] --> src/map/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use map_service::MapService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `map_manager::MapManager` [INFO] [stdout] --> src/map/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use map_manager::MapManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `zone_manager::ZoneManager` [INFO] [stdout] --> src/map/mod.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub use zone_manager::ZoneManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `item_map_service::ItemMapService` [INFO] [stdout] --> src/map/mod.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | pub use item_map_service::ItemMapService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `map_utils::MapUtils` [INFO] [stdout] --> src/map/mod.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub use map_utils::MapUtils; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tile_loader::TileLoader` [INFO] [stdout] --> src/map/mod.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub use tile_loader::TileLoader; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::entities::item_option_template::Model as ItemOptionTemplate` [INFO] [stdout] --> src/item/item.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::entities::item_option_template::Model as ItemOptionTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/item/item.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::item` [INFO] [stdout] --> src/item/item_dao.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::item::item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::Item` [INFO] [stdout] --> src/item/item_dao.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::ItemOption` [INFO] [stdout] --> src/item/item_dao.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::item::ItemOption; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/item/item_service.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::item_option::ItemOption` [INFO] [stdout] --> src/item/item_service.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::item::item_option::ItemOption; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::entities::item_option_template::Model as ItemOptionTemplate` [INFO] [stdout] --> src/item/item_manager.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::entities::item_option_template::Model as ItemOptionTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item` [INFO] [stdout] --> src/item/item_manager.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::item; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::Item` [INFO] [stdout] --> src/item/item_manager.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/item/inventory.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/item/inventory_service.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `inventory::Inventory` [INFO] [stdout] --> src/item/mod.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub use inventory::Inventory; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `inventory_service::InventoryService` [INFO] [stdout] --> src/item/mod.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub use inventory_service::InventoryService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `item_time::ItemTime` [INFO] [stdout] --> src/item/mod.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub use item_time::ItemTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `item_time_service::ItemTimeService` [INFO] [stdout] --> src/item/mod.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | pub use item_time_service::ItemTimeService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `item_utils::ItemUtils` [INFO] [stdout] --> src/item/mod.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub use item_utils::ItemUtils; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `item_validator::ItemValidator` [INFO] [stdout] --> src/item/mod.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub use item_validator::ItemValidator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::ItemManager` [INFO] [stdout] --> src/services/manager.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::item::ItemManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::item_dao::ItemDao` [INFO] [stdout] --> src/services/manager.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::item::item_dao::ItemDao; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/services/message_service.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::RwLock` [INFO] [stdout] --> src/services/message_service.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_info_service::PlayerInfoService` [INFO] [stdout] --> src/services/mod.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use player_info_service::PlayerInfoService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `services::ServiceHandles` [INFO] [stdout] --> src/services/mod.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use services::ServiceHandles; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/data/data_game.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::time::Duration` [INFO] [stdout] --> src/data/data_game.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `array_head_2_frames`, `item_option_template`, and `item_template` [INFO] [stdout] --> src/data/data_game.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::entities::{array_head_2_frames, item_option_template, item_template}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `nclass` and `skill_template` [INFO] [stdout] --> src/data/data_game.rs:7:23 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::entities::{nclass, skill_template}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::Database as DbUtil` [INFO] [stdout] --> src/data/data_game.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::utils::Database as DbUtil; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sea_orm::EntityTrait` [INFO] [stdout] --> src/data/data_game.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use sea_orm::EntityTrait; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `item_option_template` and `item_template` [INFO] [stdout] --> src/data/item_data.rs:4:44 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::entities::{array_head_2_frames, item_option_template, item_template}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/data/item_data.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `game_session::AntiLogin` [INFO] [stdout] --> src/data/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub use game_session::AntiLogin; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `waypoint::WayPoint` [INFO] [stdout] --> src/data/mod.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub use waypoint::WayPoint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `skill_model::Skill as SkillModel` [INFO] [stdout] --> src/models/mod.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use skill_model::Skill as SkillModel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `task_player::TaskPlayer` [INFO] [stdout] --> src/features/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use task_player::TaskPlayer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `side_task_template::SideTaskTemplate` [INFO] [stdout] --> src/features/mod.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use side_task_template::SideTaskTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `option_card::OptionCard` [INFO] [stdout] --> src/features/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub use option_card::OptionCard; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::account::Entity as Account` [INFO] [stdout] --> src/entities/prelude.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub use super::account::Entity as Account; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::achievement_template::Entity as AchievementTemplate` [INFO] [stdout] --> src/entities/prelude.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use super::achievement_template::Entity as AchievementTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::array_head_2_frames::Entity as ArrayHead2Frames` [INFO] [stdout] --> src/entities/prelude.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use super::array_head_2_frames::Entity as ArrayHead2Frames; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::bank_accounts::Entity as BankAccounts` [INFO] [stdout] --> src/entities/prelude.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use super::bank_accounts::Entity as BankAccounts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::bg_item_template::Entity as BgItemTemplate` [INFO] [stdout] --> src/entities/prelude.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub use super::bg_item_template::Entity as BgItemTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::box_item_actions::Entity as BoxItemActions` [INFO] [stdout] --> src/entities/prelude.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub use super::box_item_actions::Entity as BoxItemActions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::box_item_drop_options::Entity as BoxItemDropOptions` [INFO] [stdout] --> src/entities/prelude.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use super::box_item_drop_options::Entity as BoxItemDropOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::box_item_drops::Entity as BoxItemDrops` [INFO] [stdout] --> src/entities/prelude.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use super::box_item_drops::Entity as BoxItemDrops; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::caption::Entity as Caption` [INFO] [stdout] --> src/entities/prelude.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use super::caption::Entity as Caption; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::categories_news::Entity as CategoriesNews` [INFO] [stdout] --> src/entities/prelude.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use super::categories_news::Entity as CategoriesNews; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::clan_sv1::Entity as ClanSv1` [INFO] [stdout] --> src/entities/prelude.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub use super::clan_sv1::Entity as ClanSv1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::clan_sv2::Entity as ClanSv2` [INFO] [stdout] --> src/entities/prelude.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub use super::clan_sv2::Entity as ClanSv2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::comment::Entity as Comment` [INFO] [stdout] --> src/entities/prelude.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use super::comment::Entity as Comment; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::comments::Entity as Comments` [INFO] [stdout] --> src/entities/prelude.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use super::comments::Entity as Comments; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::cpanel::Entity as Cpanel` [INFO] [stdout] --> src/entities/prelude.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use super::cpanel::Entity as Cpanel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::dhvt_template::Entity as DhvtTemplate` [INFO] [stdout] --> src/entities/prelude.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub use super::dhvt_template::Entity as DhvtTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::flag_bag::Entity as FlagBag` [INFO] [stdout] --> src/entities/prelude.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use super::flag_bag::Entity as FlagBag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::giftcode::Entity as Giftcode` [INFO] [stdout] --> src/entities/prelude.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use super::giftcode::Entity as Giftcode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::giftcode_item_options::Entity as GiftcodeItemOptions` [INFO] [stdout] --> src/entities/prelude.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use super::giftcode_item_options::Entity as GiftcodeItemOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::giftcode_items::Entity as GiftcodeItems` [INFO] [stdout] --> src/entities/prelude.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use super::giftcode_items::Entity as GiftcodeItems; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::head_avatar::Entity as HeadAvatar` [INFO] [stdout] --> src/entities/prelude.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub use super::head_avatar::Entity as HeadAvatar; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::history_event::Entity as HistoryEvent` [INFO] [stdout] --> src/entities/prelude.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub use super::history_event::Entity as HistoryEvent; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::history_giftcode::Entity as HistoryGiftcode` [INFO] [stdout] --> src/entities/prelude.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub use super::history_giftcode::Entity as HistoryGiftcode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::history_gold::Entity as HistoryGold` [INFO] [stdout] --> src/entities/prelude.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub use super::history_gold::Entity as HistoryGold; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::img_by_name::Entity as ImgByName` [INFO] [stdout] --> src/entities/prelude.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | pub use super::img_by_name::Entity as ImgByName; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::intrinsic::Entity as Intrinsic` [INFO] [stdout] --> src/entities/prelude.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub use super::intrinsic::Entity as Intrinsic; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::item_option_template::Entity as ItemOptionTemplate` [INFO] [stdout] --> src/entities/prelude.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub use super::item_option_template::Entity as ItemOptionTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::item_shop::Entity as ItemShop` [INFO] [stdout] --> src/entities/prelude.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub use super::item_shop::Entity as ItemShop; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::item_shop_option::Entity as ItemShopOption` [INFO] [stdout] --> src/entities/prelude.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use super::item_shop_option::Entity as ItemShopOption; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::item_template::Entity as ItemTemplate` [INFO] [stdout] --> src/entities/prelude.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub use super::item_template::Entity as ItemTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::map_template::Entity as MapTemplate` [INFO] [stdout] --> src/entities/prelude.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub use super::map_template::Entity as MapTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::market_item_options::Entity as MarketItemOptions` [INFO] [stdout] --> src/entities/prelude.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub use super::market_item_options::Entity as MarketItemOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::market_items::Entity as MarketItems` [INFO] [stdout] --> src/entities/prelude.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub use super::market_items::Entity as MarketItems; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::mob_template::Entity as MobTemplate` [INFO] [stdout] --> src/entities/prelude.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub use super::mob_template::Entity as MobTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::naptien::Entity as Naptien` [INFO] [stdout] --> src/entities/prelude.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub use super::naptien::Entity as Naptien; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::nclass::Entity as Nclass` [INFO] [stdout] --> src/entities/prelude.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use super::nclass::Entity as Nclass; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::news::Entity as News` [INFO] [stdout] --> src/entities/prelude.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | pub use super::news::Entity as News; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::npc_template::Entity as NpcTemplate` [INFO] [stdout] --> src/entities/prelude.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub use super::npc_template::Entity as NpcTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::orders::Entity as Orders` [INFO] [stdout] --> src/entities/prelude.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use super::orders::Entity as Orders; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::player::Entity as Player` [INFO] [stdout] --> src/entities/prelude.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | pub use super::player::Entity as Player; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::post_question::Entity as PostQuestion` [INFO] [stdout] --> src/entities/prelude.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | pub use super::post_question::Entity as PostQuestion; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::posts::Entity as Posts` [INFO] [stdout] --> src/entities/prelude.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | pub use super::posts::Entity as Posts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::radar::Entity as Radar` [INFO] [stdout] --> src/entities/prelude.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | pub use super::radar::Entity as Radar; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::received_items::Entity as ReceivedItems` [INFO] [stdout] --> src/entities/prelude.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | pub use super::received_items::Entity as ReceivedItems; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::received_items_options::Entity as ReceivedItemsOptions` [INFO] [stdout] --> src/entities/prelude.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub use super::received_items_options::Entity as ReceivedItemsOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::recharge_card::Entity as RechargeCard` [INFO] [stdout] --> src/entities/prelude.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub use super::recharge_card::Entity as RechargeCard; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::resources::Entity as Resources` [INFO] [stdout] --> src/entities/prelude.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | pub use super::resources::Entity as Resources; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::server_bank_accounts::Entity as ServerBankAccounts` [INFO] [stdout] --> src/entities/prelude.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | pub use super::server_bank_accounts::Entity as ServerBankAccounts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::shared_images::Entity as SharedImages` [INFO] [stdout] --> src/entities/prelude.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | pub use super::shared_images::Entity as SharedImages; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::shop::Entity as Shop` [INFO] [stdout] --> src/entities/prelude.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | pub use super::shop::Entity as Shop; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::shop_ky_gui::Entity as ShopKyGui` [INFO] [stdout] --> src/entities/prelude.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | pub use super::shop_ky_gui::Entity as ShopKyGui; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::side_task_template::Entity as SideTaskTemplate` [INFO] [stdout] --> src/entities/prelude.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | pub use super::side_task_template::Entity as SideTaskTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::skill_template::Entity as SkillTemplate` [INFO] [stdout] --> src/entities/prelude.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | pub use super::skill_template::Entity as SkillTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::small_version::Entity as SmallVersion` [INFO] [stdout] --> src/entities/prelude.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | pub use super::small_version::Entity as SmallVersion; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::tab_shop::Entity as TabShop` [INFO] [stdout] --> src/entities/prelude.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | pub use super::tab_shop::Entity as TabShop; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::task_main_template::Entity as TaskMainTemplate` [INFO] [stdout] --> src/entities/prelude.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | pub use super::task_main_template::Entity as TaskMainTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::tb_transactions::Entity as TbTransactions` [INFO] [stdout] --> src/entities/prelude.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | pub use super::tb_transactions::Entity as TbTransactions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::type_item::Entity as TypeItem` [INFO] [stdout] --> src/entities/prelude.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | pub use super::type_item::Entity as TypeItem; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::type_map::Entity as TypeMap` [INFO] [stdout] --> src/entities/prelude.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | pub use super::type_map::Entity as TypeMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::type_sell_item_shop::Entity as TypeSellItemShop` [INFO] [stdout] --> src/entities/prelude.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | pub use super::type_sell_item_shop::Entity as TypeSellItemShop; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::withdrawals::Entity as Withdrawals` [INFO] [stdout] --> src/entities/prelude.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub use super::withdrawals::Entity as Withdrawals; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io` [INFO] [stdout] --> src/network/mod.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{env, io}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::player::Player as RtPlayer` [INFO] [stdout] --> src/network/async_net/controller.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::player::Player as RtPlayer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::map::zone_manager::ZoneManager` [INFO] [stdout] --> src/network/async_net/controller.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::map::zone_manager::ZoneManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/network/async_net/controller.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/player/player.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::item::inventory::{self, Inventory}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::network::async_net::session::AsyncSession` [INFO] [stdout] --> src/player/player_service.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::network::async_net::session::AsyncSession; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::map::Zone` [INFO] [stdout] --> src/player/player_service.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::map::Zone; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_dao as PlayerDao` [INFO] [stdout] --> src/player/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use player_dao as PlayerDao; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_service::PlayerService` [INFO] [stdout] --> src/player/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use player_service::PlayerService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_skill::PlayerSkill` [INFO] [stdout] --> src/player/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use player_skill::PlayerSkill; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_friend::Friend as PlayerFriend` [INFO] [stdout] --> src/player/mod.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub use player_friend::Friend as PlayerFriend; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `n_point::NPoint` [INFO] [stdout] --> src/player/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use n_point::NPoint; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_intrinsic::PlayerIntrinsic` [INFO] [stdout] --> src/player/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use player_intrinsic::PlayerIntrinsic; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_item_time::PlayerItemTime` [INFO] [stdout] --> src/player/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use player_item_time::PlayerItemTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/map/map.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/map/zone.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::item::Item` [INFO] [stdout] --> src/map/item_map.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::item::Item` [INFO] [stdout] --> src/map/item_map_service.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::item::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::item_option::ItemOption` [INFO] [stdout] --> src/map/item_map_service.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::item::item_option::ItemOption; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `map_service::MapService` [INFO] [stdout] --> src/map/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use map_service::MapService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `map_manager::MapManager` [INFO] [stdout] --> src/map/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use map_manager::MapManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `zone_manager::ZoneManager` [INFO] [stdout] --> src/map/mod.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub use zone_manager::ZoneManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `item_map_service::ItemMapService` [INFO] [stdout] --> src/map/mod.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | pub use item_map_service::ItemMapService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `map_utils::MapUtils` [INFO] [stdout] --> src/map/mod.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub use map_utils::MapUtils; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tile_loader::TileLoader` [INFO] [stdout] --> src/map/mod.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub use tile_loader::TileLoader; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::entities::item_option_template::Model as ItemOptionTemplate` [INFO] [stdout] --> src/item/item.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::entities::item_option_template::Model as ItemOptionTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/item/item.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::item` [INFO] [stdout] --> src/item/item_dao.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::item::item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::Item` [INFO] [stdout] --> src/item/item_dao.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::ItemOption` [INFO] [stdout] --> src/item/item_dao.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::item::ItemOption; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/item/item_service.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::item_option::ItemOption` [INFO] [stdout] --> src/item/item_service.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::item::item_option::ItemOption; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::entities::item_option_template::Model as ItemOptionTemplate` [INFO] [stdout] --> src/item/item_manager.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::entities::item_option_template::Model as ItemOptionTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item` [INFO] [stdout] --> src/item/item_manager.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::item; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::Item` [INFO] [stdout] --> src/item/item_manager.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::item::Item; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/item/inventory.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/item/inventory_service.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `inventory::Inventory` [INFO] [stdout] --> src/item/mod.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub use inventory::Inventory; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `inventory_service::InventoryService` [INFO] [stdout] --> src/item/mod.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub use inventory_service::InventoryService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `item_time::ItemTime` [INFO] [stdout] --> src/item/mod.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub use item_time::ItemTime; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `item_time_service::ItemTimeService` [INFO] [stdout] --> src/item/mod.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | pub use item_time_service::ItemTimeService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `item_utils::ItemUtils` [INFO] [stdout] --> src/item/mod.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | pub use item_utils::ItemUtils; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `item_validator::ItemValidator` [INFO] [stdout] --> src/item/mod.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub use item_validator::ItemValidator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::ItemManager` [INFO] [stdout] --> src/services/manager.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::item::ItemManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::item::item_dao::ItemDao` [INFO] [stdout] --> src/services/manager.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::item::item_dao::ItemDao; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/services/message_service.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::RwLock` [INFO] [stdout] --> src/services/message_service.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `player_info_service::PlayerInfoService` [INFO] [stdout] --> src/services/mod.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub use player_info_service::PlayerInfoService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `services::ServiceHandles` [INFO] [stdout] --> src/services/mod.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub use services::ServiceHandles; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/data/data_game.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::time::Duration` [INFO] [stdout] --> src/data/data_game.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `array_head_2_frames`, `item_option_template`, and `item_template` [INFO] [stdout] --> src/data/data_game.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::entities::{array_head_2_frames, item_option_template, item_template}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `nclass` and `skill_template` [INFO] [stdout] --> src/data/data_game.rs:7:23 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::entities::{nclass, skill_template}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::Database as DbUtil` [INFO] [stdout] --> src/data/data_game.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::utils::Database as DbUtil; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sea_orm::EntityTrait` [INFO] [stdout] --> src/data/data_game.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use sea_orm::EntityTrait; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `item_option_template` and `item_template` [INFO] [stdout] --> src/data/item_data.rs:4:44 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::entities::{array_head_2_frames, item_option_template, item_template}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value` [INFO] [stdout] --> src/data/item_data.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde_json::Value; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `game_session::AntiLogin` [INFO] [stdout] --> src/data/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub use game_session::AntiLogin; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `waypoint::WayPoint` [INFO] [stdout] --> src/data/mod.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub use waypoint::WayPoint; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `skill_model::Skill as SkillModel` [INFO] [stdout] --> src/models/mod.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub use skill_model::Skill as SkillModel; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `task_player::TaskPlayer` [INFO] [stdout] --> src/features/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use task_player::TaskPlayer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `side_task_template::SideTaskTemplate` [INFO] [stdout] --> src/features/mod.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use side_task_template::SideTaskTemplate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `option_card::OptionCard` [INFO] [stdout] --> src/features/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub use option_card::OptionCard; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/services/intrinsic_service.rs:99:33 [INFO] [stdout] | [INFO] [stdout] 99 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/services/intrinsic_service.rs:99:33 [INFO] [stdout] | [INFO] [stdout] 99 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `pos` is never read [INFO] [stdout] --> src/network/async_net/controller.rs:190:17 [INFO] [stdout] | [INFO] [stdout] 190 | pos += platform_len; [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: value assigned to `pos` is never read [INFO] [stdout] --> src/network/async_net/controller.rs:190:17 [INFO] [stdout] | [INFO] [stdout] 190 | pos += platform_len; [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: `flag` [INFO] [stdout] --> src/network/async_net/controller.rs:539:13 [INFO] [stdout] | [INFO] [stdout] 539 | let flag = data[offset]; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_flag` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `flag` [INFO] [stdout] --> src/network/async_net/controller.rs:539:13 [INFO] [stdout] | [INFO] [stdout] 539 | let flag = data[offset]; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_flag` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `body_items_sent` [INFO] [stdout] --> src/services/player_info_service.rs:230:17 [INFO] [stdout] | [INFO] [stdout] 230 | let mut body_items_sent = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_body_items_sent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/services/player_info_service.rs:231:14 [INFO] [stdout] | [INFO] [stdout] 231 | for (index, item) in player.inventory.items_body.iter().take(body_len as usize).enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bag_items_sent` is assigned to, but never used [INFO] [stdout] --> src/services/player_info_service.rs:254:17 [INFO] [stdout] | [INFO] [stdout] 254 | let mut bag_items_sent = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_bag_items_sent` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/services/player_info_service.rs:255:14 [INFO] [stdout] | [INFO] [stdout] 255 | for (index, item) in player.inventory.items_bag.iter().take(bag_len as usize).enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `box_items_sent` [INFO] [stdout] --> src/services/player_info_service.rs:279:17 [INFO] [stdout] | [INFO] [stdout] 279 | let mut box_items_sent = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_box_items_sent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/services/player_info_service.rs:280:14 [INFO] [stdout] | [INFO] [stdout] 280 | for (index, item) in player.inventory.items_box.iter().take(box_len as usize).enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/services/player_info_service.rs:230:13 [INFO] [stdout] | [INFO] [stdout] 230 | let mut body_items_sent = 0; [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/services/player_info_service.rs:279:13 [INFO] [stdout] | [INFO] [stdout] 279 | let mut box_items_sent = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `body_items_sent` [INFO] [stdout] --> src/services/player_info_service.rs:230:17 [INFO] [stdout] | [INFO] [stdout] 230 | let mut body_items_sent = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_body_items_sent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/services/player_info_service.rs:231:14 [INFO] [stdout] | [INFO] [stdout] 231 | for (index, item) in player.inventory.items_body.iter().take(body_len as usize).enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `bag_items_sent` is assigned to, but never used [INFO] [stdout] --> src/services/player_info_service.rs:254:17 [INFO] [stdout] | [INFO] [stdout] 254 | let mut bag_items_sent = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_bag_items_sent` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/services/player_info_service.rs:255:14 [INFO] [stdout] | [INFO] [stdout] 255 | for (index, item) in player.inventory.items_bag.iter().take(bag_len as usize).enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `box_items_sent` [INFO] [stdout] --> src/services/player_info_service.rs:279:17 [INFO] [stdout] | [INFO] [stdout] 279 | let mut box_items_sent = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_box_items_sent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/services/player_info_service.rs:280:14 [INFO] [stdout] | [INFO] [stdout] 280 | for (index, item) in player.inventory.items_box.iter().take(box_len as usize).enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/services/player_info_service.rs:230:13 [INFO] [stdout] | [INFO] [stdout] 230 | let mut body_items_sent = 0; [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/services/player_info_service.rs:279:13 [INFO] [stdout] | [INFO] [stdout] 279 | let mut box_items_sent = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hi` [INFO] [stdout] --> src/data/data_game.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | let hi = ((payload_len as u16) >> 8) as u8; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_hi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lo` [INFO] [stdout] --> src/data/data_game.rs:425:21 [INFO] [stdout] | [INFO] [stdout] 425 | let lo = (payload_len as u16 & 0xFF) as u8; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_lo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/player/player_service.rs:102:64 [INFO] [stdout] | [INFO] [stdout] 102 | pub async fn send_message_to_player(&self, player_id: u64, msg: Message) -> Result<(), Box> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/player/player_service.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | if let Some(player) = self.get_player(player_id).await { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hi` [INFO] [stdout] --> src/data/data_game.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | let hi = ((payload_len as u16) >> 8) as u8; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_hi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lo` [INFO] [stdout] --> src/data/data_game.rs:425:21 [INFO] [stdout] | [INFO] [stdout] 425 | let lo = (payload_len as u16 & 0xFF) as u8; [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_lo` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `database` [INFO] [stdout] --> src/mob/mob_dao.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | database: &DatabaseConnection, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mob` [INFO] [stdout] --> src/mob/mob_dao.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | mob: &RtMob, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mob` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `database` [INFO] [stdout] --> src/mob/mob_dao.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | database: &DatabaseConnection, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mob_id` [INFO] [stdout] --> src/mob/mob_dao.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | mob_id: u64, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mob_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/player/player_service.rs:102:64 [INFO] [stdout] | [INFO] [stdout] 102 | pub async fn send_message_to_player(&self, player_id: u64, msg: Message) -> Result<(), Box> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/player/player_service.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | if let Some(player) = self.get_player(player_id).await { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zone` [INFO] [stdout] --> src/map/map.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 157 | for zone in zones.iter() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_zone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `database` [INFO] [stdout] --> src/mob/mob_dao.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | database: &DatabaseConnection, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mob` [INFO] [stdout] --> src/mob/mob_dao.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | mob: &RtMob, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mob` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `database` [INFO] [stdout] --> src/mob/mob_dao.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | database: &DatabaseConnection, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mob_id` [INFO] [stdout] --> src/mob/mob_dao.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | mob_id: u64, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_mob_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `database` [INFO] [stdout] --> src/map/map_dao.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | database: &DatabaseConnection, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zone` [INFO] [stdout] --> src/map/map.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 157 | for zone in zones.iter() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_zone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `database` [INFO] [stdout] --> src/map/map_dao.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | database: &DatabaseConnection, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_database` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mob` [INFO] [stdout] --> src/map/zone.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | for mob in mobs.iter_mut() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mob` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/map/zone.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | for item in items.iter_mut() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mob` [INFO] [stdout] --> src/map/zone.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | for mob in mobs.iter_mut() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_mob` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/map/zone.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | for item in items.iter_mut() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session` [INFO] [stdout] --> src/services/player_info_service.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | session: &mut AsyncSession, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/services/player_info_service.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | player: &RtPlayer, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session` [INFO] [stdout] --> src/services/player_info_service.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | session: &mut AsyncSession, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/services/player_info_service.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | player: &RtPlayer, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/services/intrinsic_service.rs:100:36 [INFO] [stdout] | [INFO] [stdout] 100 | let random_index = rng.gen_range(1..list_intrinsic.len()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/services/intrinsic_service.rs:106:53 [INFO] [stdout] | [INFO] [stdout] 106 | player_intrinsic.intrinsic.param1 = rng.gen_range(selected_intrinsic.param_from_1..=selected_intrinsic.param_to_1); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/services/intrinsic_service.rs:107:53 [INFO] [stdout] | [INFO] [stdout] 107 | player_intrinsic.intrinsic.param2 = rng.gen_range(selected_intrinsic.param_from_2..=selected_intrinsic.param_to_2); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/network/async_net/message.rs:1:47 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{Cursor, Error, ErrorKind, Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TryGetable` [INFO] [stdout] --> src/services/manager.rs:8:56 [INFO] [stdout] | [INFO] [stdout] 8 | use sea_orm::{EntityTrait, DatabaseBackend, Statement, TryGetable, QueryResult, ConnectionTrait}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/services/intrinsic_service.rs:100:36 [INFO] [stdout] | [INFO] [stdout] 100 | let random_index = rng.gen_range(1..list_intrinsic.len()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/services/intrinsic_service.rs:106:53 [INFO] [stdout] | [INFO] [stdout] 106 | player_intrinsic.intrinsic.param1 = rng.gen_range(selected_intrinsic.param_from_1..=selected_intrinsic.param_to_1); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/services/intrinsic_service.rs:107:53 [INFO] [stdout] | [INFO] [stdout] 107 | player_intrinsic.intrinsic.param2 = rng.gen_range(selected_intrinsic.param_from_2..=selected_intrinsic.param_to_2); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/network/async_net/message.rs:1:47 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{Cursor, Error, ErrorKind, Read, Write}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TryGetable` [INFO] [stdout] --> src/services/manager.rs:8:56 [INFO] [stdout] | [INFO] [stdout] 8 | use sea_orm::{EntityTrait, DatabaseBackend, Statement, TryGetable, QueryResult, ConnectionTrait}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_service.rs:44:21 [INFO] [stdout] | [INFO] [stdout] 44 | if let Some(map) = self.get_map_by_id(player.map_id as i32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_service.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | if let Some(map) = self.get_map_by_id(map_id) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/map/map_service.rs:84:36 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn get_map_can_join(&self, player: &Player, map_id: i32, zone_id: i32) -> Option<&Zone> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_id` [INFO] [stdout] --> src/map/map_service.rs:100:34 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn is_map_offline(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_service.rs:107:31 [INFO] [stdout] | [INFO] [stdout] 107 | pub fn is_map_cold(&self, map: &Map) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_id` [INFO] [stdout] --> src/map/map_service.rs:114:41 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn is_map_ban_do_kho_bau(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_id` [INFO] [stdout] --> src/map/map_service.rs:120:37 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn is_map_doanh_trai(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_id` [INFO] [stdout] --> src/map/map_service.rs:126:32 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn is_map_ma_bu(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_id` [INFO] [stdout] --> src/map/map_service.rs:132:32 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn is_map_satan(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/map/map_service.rs:138:35 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn get_map_capsule(&self, player: &Player) -> Vec<&Zone> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_service.rs:187:21 [INFO] [stdout] | [INFO] [stdout] 187 | if let Some(map) = self.get_map_by_id(map_id) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/map/map_service.rs:186:39 [INFO] [stdout] | [INFO] [stdout] 186 | pub fn can_player_join_map(&self, player: &Player, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_service.rs:198:21 [INFO] [stdout] | [INFO] [stdout] 198 | if let Some(map) = self.get_map_by_id(map_id) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/map/map_service.rs:197:44 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn get_best_zone_for_player(&self, player: &Player, map_id: i32) -> Option<&Zone> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/map/map_service.rs:220:32 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn get_map_info(&self, player: &Player, map_id: i32) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zone` [INFO] [stdout] --> src/map/map_utils.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | zone: &Zone, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_zone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `center_x` [INFO] [stdout] --> src/map/map_utils.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | center_x: i16, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `center_y` [INFO] [stdout] --> src/map/map_utils.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | center_y: i16, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/map/map_utils.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | range: i32, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zone` [INFO] [stdout] --> src/map/map_utils.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | zone: &Zone, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_zone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `center_x` [INFO] [stdout] --> src/map/map_utils.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | center_x: i16, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `center_y` [INFO] [stdout] --> src/map/map_utils.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | center_y: i16, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/map/map_utils.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | range: i32, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zone` [INFO] [stdout] --> src/map/map_utils.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | zone: &Zone, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_zone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `center_x` [INFO] [stdout] --> src/map/map_utils.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | center_x: i16, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `center_y` [INFO] [stdout] --> src/map/map_utils.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | center_y: i16, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/map/map_utils.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | range: i32, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_utils.rs:154:24 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn is_map_full(map: &Map) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_utils.rs:159:31 [INFO] [stdout] | [INFO] [stdout] 159 | pub fn get_map_population(map: &Map) -> usize { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `template_id` [INFO] [stdout] --> src/item/item.rs:32:29 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn from_template_id(template_id: i32, template: ItemTemplate) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_template_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/item/item_validator.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 103 | 537..=542 => 999, // Stackable items [INFO] [stdout] | --------- matches all the relevant values [INFO] [stdout] 104 | 2069 => 999, // Stackable item [INFO] [stdout] 105 | 540 => 999, // Stackable item [INFO] [stdout] | ^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player_level` [INFO] [stdout] --> src/item/item_validator.rs:185:46 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn can_item_be_equipped(item: &Item, player_level: i32, player_gender: i32, player_class: i32) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player_class` [INFO] [stdout] --> src/item/item_validator.rs:185:85 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn can_item_be_equipped(item: &Item, player_level: i32, player_gender: i32, player_class: i32) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_class` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/item/item_validator.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | let mut warnings = Vec::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_service.rs:44:21 [INFO] [stdout] | [INFO] [stdout] 44 | if let Some(map) = self.get_map_by_id(player.map_id as i32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_service.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | if let Some(map) = self.get_map_by_id(map_id) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/map/map_service.rs:84:36 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn get_map_can_join(&self, player: &Player, map_id: i32, zone_id: i32) -> Option<&Zone> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_id` [INFO] [stdout] --> src/map/map_service.rs:100:34 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn is_map_offline(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_service.rs:107:31 [INFO] [stdout] | [INFO] [stdout] 107 | pub fn is_map_cold(&self, map: &Map) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_id` [INFO] [stdout] --> src/map/map_service.rs:114:41 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn is_map_ban_do_kho_bau(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_id` [INFO] [stdout] --> src/map/map_service.rs:120:37 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn is_map_doanh_trai(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_id` [INFO] [stdout] --> src/map/map_service.rs:126:32 [INFO] [stdout] | [INFO] [stdout] 126 | pub fn is_map_ma_bu(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map_id` [INFO] [stdout] --> src/map/map_service.rs:132:32 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn is_map_satan(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_map_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/map/map_service.rs:138:35 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn get_map_capsule(&self, player: &Player) -> Vec<&Zone> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_service.rs:187:21 [INFO] [stdout] | [INFO] [stdout] 187 | if let Some(map) = self.get_map_by_id(map_id) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/map/map_service.rs:186:39 [INFO] [stdout] | [INFO] [stdout] 186 | pub fn can_player_join_map(&self, player: &Player, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_service.rs:198:21 [INFO] [stdout] | [INFO] [stdout] 198 | if let Some(map) = self.get_map_by_id(map_id) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/map/map_service.rs:197:44 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn get_best_zone_for_player(&self, player: &Player, map_id: i32) -> Option<&Zone> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/map/map_service.rs:220:32 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn get_map_info(&self, player: &Player, map_id: i32) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zone` [INFO] [stdout] --> src/map/map_utils.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | zone: &Zone, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_zone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `center_x` [INFO] [stdout] --> src/map/map_utils.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | center_x: i16, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `center_y` [INFO] [stdout] --> src/map/map_utils.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | center_y: i16, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/map/map_utils.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | range: i32, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zone` [INFO] [stdout] --> src/map/map_utils.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | zone: &Zone, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_zone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `center_x` [INFO] [stdout] --> src/map/map_utils.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 119 | center_x: i16, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `center_y` [INFO] [stdout] --> src/map/map_utils.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | center_y: i16, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/map/map_utils.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | range: i32, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zone` [INFO] [stdout] --> src/map/map_utils.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | zone: &Zone, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_zone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `center_x` [INFO] [stdout] --> src/map/map_utils.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | center_x: i16, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `center_y` [INFO] [stdout] --> src/map/map_utils.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | center_y: i16, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/map/map_utils.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | range: i32, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_utils.rs:154:24 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn is_map_full(map: &Map) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/map/map_utils.rs:159:31 [INFO] [stdout] | [INFO] [stdout] 159 | pub fn get_map_population(map: &Map) -> usize { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_map` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `template_id` [INFO] [stdout] --> src/item/item.rs:32:29 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn from_template_id(template_id: i32, template: ItemTemplate) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_template_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `is_admin` and `vnd` are never read [INFO] [stdout] --> src/network/async_net/session.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct AsyncSession { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub is_admin: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 20 | pub version: i32, [INFO] [stdout] 21 | pub vnd: i32, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_key`, `get_player_mut`, `set_admin`, `is_admin`, `set_vnd`, and `get_vnd` are never used [INFO] [stdout] --> src/network/async_net/session.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl AsyncSession { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn get_key(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn get_player_mut(&mut self) -> Option<&mut RtPlayer> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn set_admin(&mut self, is_admin: bool) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn is_admin(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn set_vnd(&mut self, vnd: i32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn get_vnd(&self) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `send_welcome_message` is never used [INFO] [stdout] --> src/network/async_net/controller.rs:353:14 [INFO] [stdout] | [INFO] [stdout] 14 | impl AsyncController { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 353 | async fn send_welcome_message(session: &mut AsyncSession) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/network/async_net/message.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Message { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn read(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn read_bytes(&mut self, buf: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn read_boolean(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn read_byte(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn read_unsigned_byte(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn read_short(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn read_unsigned_short(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn read_int(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn read_long(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn read_float(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn read_double(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn read_char(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn read_utf(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn read_fully(&mut self, buf: &mut [u8]) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn write_bytes(&mut self, s: &str) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn write_char(&mut self, value: char) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn write_chars(&mut self, s: &str) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn write_double(&mut self, value: f64) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn write_float(&mut self, value: f32) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn dispose(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/player/player.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Player { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 27 | pub intrinsic: IntrinsicPlayer, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub before_dispose: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub is_train: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 37 | pub type_train: u8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 38 | pub time_off: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub last_time_use_option: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | pub last_time_revived: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 48 | [INFO] [stdout] 49 | pub just_revived: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 50 | pub is_fight: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 51 | pub is_fight1: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 52 | pub is_try: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 53 | pub is_try1: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub is_admin: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 57 | pub admin_key: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 58 | [INFO] [stdout] 59 | pub notify: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Player` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/player/player.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 64 | impl Player { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn from_entity(model: &entities::player::Model) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn parse_inventory_json(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | fn parse_location_array(s: &str) -> Result<(i64, i64, i64), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn parse_point_array(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | pub fn injured(&mut self, damage: u64, piercing: bool) -> u64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | pub fn set_die(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn revive(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn chat(&self, text: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 277 | pub fn is_admin(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn admin_key(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn prepared_to_dispose(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub fn dispose(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | pub fn set_fight(&mut self, _type_fight: u8, _type_target: u8) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn reset_fight(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn start_training(&mut self, type_train: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 312 | pub fn stop_training(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | pub fn set_notify(&mut self, notify: String) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 321 | pub fn clear_notify(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | pub fn set_session(&mut self, session: Arc>) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | pub fn clear_zone(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/player/player_service.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 14 | impl PlayerService { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub async fn remove_player(&self, player_id: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub async fn get_all_players(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub async fn damage_player(&self, player_id: u64, damage: u64, piercing: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub async fn heal_player(&self, player_id: u64, amount: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub async fn revive_player(&self, player_id: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub async fn move_player(&self, player_id: u64, x: i16, y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub async fn change_player_map(&self, player_id: u64, map_id: u32, zone_id: u32, x: i16, y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub async fn send_message_to_player(&self, player_id: u64, msg: Message) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn broadcast_message(&self, msg: Message) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub async fn get_player_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub async fn get_online_players(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub async fn get_players_in_map(&self, map_id: u32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn get_players_in_zone(&self, map_id: u32, zone_id: u32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub async fn set_player_admin(&self, player_id: u64, is_admin: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub async fn kick_player(&self, player_id: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub async fn cleanup_disconnected_players(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayerSkill` is never constructed [INFO] [stdout] --> src/player/player_skill.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct PlayerSkill { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/player/player_skill.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl PlayerSkill { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 9 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Friend` is never constructed [INFO] [stdout] --> src/player/player_friend.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Friend { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Enemy` is never constructed [INFO] [stdout] --> src/player/player_friend.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Enemy { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/player/n_point.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl NPoint { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn set_hp(&mut self, hp: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn set_mp(&mut self, mp: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn sub_hp(&mut self, damage: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn add_hp(&mut self, amount: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn add_mp(&mut self, amount: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn is_die(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn cal_point(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayerIntrinsic` is never constructed [INFO] [stdout] --> src/player/player_intrinsic.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct PlayerIntrinsic { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/player/player_intrinsic.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl PlayerIntrinsic { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn from_intrinsic(intrinsic: Intrinsic) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn get_intrinsic(&self) -> &IntrinsicPlayer { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn get_intrinsic_mut(&mut self) -> &mut IntrinsicPlayer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn has_intrinsic(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn get_intrinsic_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn get_intrinsic_icon(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn get_intrinsic_level(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn set_intrinsic_level(&mut self, level: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn upgrade_intrinsic(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn get_upgrade_cost(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn can_upgrade(&self, player_gold: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayerItemTime` is never constructed [INFO] [stdout] --> src/player/player_item_time.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct PlayerItemTime { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/player/player_item_time.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl PlayerItemTime { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn use_an_danh(&mut self, level: u8) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn is_an_danh_active(&self, level: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn get_an_danh_remaining_time(&self, level: u8) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn has_any_an_danh_active(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn get_active_an_danh_levels(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn clear_all_an_danh(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `name`, and `is_alive` are never read [INFO] [stdout] --> src/mob/mob.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct RtMob { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 6 | pub id: u64, [INFO] [stdout] | ^^ [INFO] [stdout] 7 | pub template_id: i32, [INFO] [stdout] 8 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub is_alive: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RtMob` 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: multiple methods are never used [INFO] [stdout] --> src/mob/mob.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl RtMob { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn get_hp_percent(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_mp_percent(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn is_dead(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn take_damage(&mut self, damage: i32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn heal(&mut self, amount: i32) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn restore_mp(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn get_x(&self) -> i16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_y(&self) -> i16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn get_map_id(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn get_zone_id(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `load_mob_template`, `create_mob_from_template`, `save_mob_state`, and `load_mob_state` are never used [INFO] [stdout] --> src/mob/mob_dao.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 7 | impl MobDao { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 8 | pub async fn load_mob_template( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub async fn create_mob_from_template( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub async fn save_mob_state( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub async fn load_mob_state( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mobs` and `next_mob_id` are never read [INFO] [stdout] --> src/mob/mob_service.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct MobService { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 11 | mobs: Arc>>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | next_mob_id: Arc>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/mob/mob_service.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 16 | impl MobService { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | pub async fn create_mob(&self, template_id: i32, map_id: u32, zone_id: u32, x: i16, y: i16) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub async fn get_mob(&self, mob_id: u64) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub async fn get_mobs_in_map(&self, map_id: u32, zone_id: u32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub async fn remove_mob(&self, mob_id: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub async fn update_mob(&self, mob_id: u64, update_fn: impl FnOnce(&mut RtMob)) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub async fn damage_mob(&self, mob_id: u64, damage: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub async fn heal_mob(&self, mob_id: u64, amount: i32) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub async fn move_mob(&self, mob_id: u64, new_x: i16, new_y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub async fn send_mob_info(&self, session: &mut AsyncSession, mob: &RtMob) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub async fn send_mobs_in_map(&self, session: &mut AsyncSession, map_id: u32, zone_id: u32) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub async fn cleanup_dead_mobs(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub async fn get_mob_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub async fn get_alive_mob_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `go_map`, `go_x`, and `go_y` are never read [INFO] [stdout] --> src/map/map.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct WayPoint { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | pub go_map: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 23 | pub go_x: i16, [INFO] [stdout] | ^^^^ [INFO] [stdout] 24 | pub go_y: i16, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WayPoint` 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: method `contains_position` is never used [INFO] [stdout] --> src/map/map.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl WayPoint { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn contains_position(&self, x: i16, y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/map/map.rs:171:18 [INFO] [stdout] | [INFO] [stdout] 86 | impl Map { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 171 | pub async fn get_waypoint_at_position(&self, x: i16, y: i16) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub async fn get_zone(&self, zone_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub async fn get_best_zone(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub async fn get_all_zones(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub async fn is_active(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub async fn set_active(&self, active: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub async fn get_map_info(&self) -> MapInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MapInfo` is never constructed [INFO] [stdout] --> src/map/map.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct MapInfo { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_tile_map_file` is never used [INFO] [stdout] --> src/map/map.rs:311:4 [INFO] [stdout] | [INFO] [stdout] 311 | fn read_tile_map_file(map_id: i32) -> Option<(i32, i32, Vec>)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_tile_top_file` is never used [INFO] [stdout] --> src/map/map.rs:331:4 [INFO] [stdout] | [INFO] [stdout] 331 | fn read_tile_top_file(tile_id: i32) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `load_map_template`, `load_all_map_templates`, and `create_map_from_template` are never used [INFO] [stdout] --> src/map/map_dao.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 9 | impl MapDao { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 10 | pub async fn load_map_template( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub async fn load_all_map_templates( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub async fn create_map_from_template( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `initialized` and `maps` are never read [INFO] [stdout] --> src/map/map_service.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct MapService { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 7 | // Service state [INFO] [stdout] 8 | initialized: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | maps: HashMap, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/map/map_service.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl MapService { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn init(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn is_initialized(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn get_waypoint_player_in(&self, player: &Player) -> Option<&WayPoint> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn get_map_by_id(&self, map_id: i32) -> Option<&Map> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn get_map_by_id_mut(&mut self, map_id: i32) -> Option<&mut Map> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn add_map(&mut self, map: Map) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn remove_map(&mut self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn get_all_maps(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn get_map_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn get_map_can_join(&self, player: &Player, map_id: i32, zone_id: i32) -> Option<&Zone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn is_map_offline(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn is_map_cold(&self, map: &Map) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn is_map_ban_do_kho_bau(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn is_map_doanh_trai(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn is_map_ma_bu(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn is_map_satan(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn get_map_capsule(&self, player: &Player) -> Vec<&Zone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn get_map_black_ball(&self) -> Vec<&Zone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn get_map_ma_bu(&self) -> Vec<&Zone> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn get_map_satan(&self) -> Vec<&Zone> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn get_map_by_name(&self, name: &str) -> Option<&Map> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn get_maps_by_planet(&self, planet_id: i32) -> Vec<&Map> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn get_maps_by_type(&self, map_type: i32) -> Vec<&Map> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn can_player_join_map(&self, player: &Player, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn get_best_zone_for_player(&self, player: &Player, map_id: i32) -> Option<&Zone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn update_all_maps(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn clear_all_maps(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn get_map_info(&self, player: &Player, map_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/map/map_manager.rs:34:18 [INFO] [stdout] | [INFO] [stdout] 13 | impl MapManager { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | pub async fn get_all_maps(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub async fn get_maps_by_planet(&self, planet_id: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub async fn get_maps_by_type(&self, map_type: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub async fn get_map_by_name(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub async fn remove_map(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub async fn get_map_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub async fn clear_all_maps(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub async fn is_map_exists(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub async fn get_active_maps(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/map/waypoint.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl WayPoint { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn contains_position(&self, x: i16, y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_center_position(&self) -> (i16, i16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn get_area(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn get_destination_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn is_enter_waypoint(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn is_offline_waypoint(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn can_teleport(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/map/zone.rs:38:18 [INFO] [stdout] | [INFO] [stdout] 25 | impl Zone { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 38 | pub async fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub async fn is_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub async fn remove_player(&self, player_id: u64) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub async fn get_all_players(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub async fn remove_mob(&self, mob_id: u64) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub async fn get_all_mobs(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub async fn add_item(&self, item: ItemMap) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub async fn remove_item(&self, item_id: i32) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub async fn get_all_items(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub async fn get_zone_info(&self) -> ZoneInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn to_zone_info(&self, current_players: i32, mob_count: i32, item_count: i32) -> ZoneInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub async fn send_message_to_other_players( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ZoneInfo` is never constructed [INFO] [stdout] --> src/map/zone.rs:442:12 [INFO] [stdout] | [INFO] [stdout] 442 | pub struct ZoneInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/map/zone_manager.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 11 | impl ZoneManager { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub async fn get_zone(&self, map_id: i32, zone_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub async fn get_zones_for_map(&self, map_id: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub async fn send_message_to_all_players_in_map( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub async fn send_message_to_other_players_in_map( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub async fn get_total_players_in_map(&self, map_id: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub async fn get_zone_count_for_map(&self, map_id: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub async fn remove_zone(&self, map_id: i32, zone_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub async fn clear_zones_for_map(&self, map_id: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub async fn get_all_zones(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub async fn get_zone_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ItemMap` is never constructed [INFO] [stdout] --> src/map/item_map.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ItemMap { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/map/item_map.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ItemMap { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 23 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn is_not_null_item(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn is_null_item(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn get_item_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_item_id(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn get_quantity(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn set_quantity(&mut self, quantity: i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_position(&self) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_position(&mut self, x: i32, y: i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_player_id(&self) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn set_player_id(&mut self, player_id: i64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn get_clan_id(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn set_clan_id(&mut self, clan_id: i32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn is_black_ball(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn is_namec_ball(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn get_create_time(&self) -> DateTime { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn get_last_move_time(&self) -> DateTime { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn update_last_move_time(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_age(&self) -> i64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn is_expired(&self, max_age_seconds: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn get_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn get_content(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn add_option(&mut self, option: ItemOption) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn get_option_param(&self, option_id: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn has_option(&self, option_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn get_options(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn clear_options(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn is_black_ball_template(template_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn is_namec_ball_template(template_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn is_valuable_item(template_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn get_item_rarity(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ItemMapService` is never constructed [INFO] [stdout] --> src/map/item_map_service.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ItemMapService { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/map/item_map_service.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ItemMapService { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn get_instance() -> &'static mut ItemMapService { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn create_item_map( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn get_item_map(&self, item_map_id: i32) -> Option<&ItemMap> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn remove_item_map(&mut self, item_map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn get_all_item_maps(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn update_all_item_maps(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn is_black_ball(&self, template_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn is_namec_ball(&self, template_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn get_item_maps_in_area(&self, x: i32, y: i32, radius: i32) -> Vec<&ItemMap> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn get_item_map_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn clear_all_item_maps(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MapUtils` is never constructed [INFO] [stdout] --> src/map/map_utils.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct MapUtils; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/map/map_utils.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl MapUtils { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 8 | pub fn calculate_distance(x1: i32, y1: i32, x2: i32, y2: i32) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn is_position_in_range(x1: i32, y1: i32, x2: i32, y2: i32, range: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn get_random_position_in_map(map: &Map) -> (i16, i16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn get_safe_spawn_position(map: &Map) -> (i16, i16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn is_safe_position(map: &Map, x: i16, y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn get_tile_at_position(map: &Map, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn find_path_to_target( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn is_direct_path_clear( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn get_players_in_range( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn get_mobs_in_range( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_items_in_range( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn validate_map_coordinates(map: &Map, x: i16, y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn get_map_center(map: &Map) -> (i16, i16) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn get_map_corners(map: &Map) -> [(i16, i16); 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn is_map_full(map: &Map) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn get_map_population(map: &Map) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn get_map_info_string(map: &Map) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/map/tile_loader.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl TileLoader { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn load_tile_data(map_id: i32, tile_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn validate_tile_position(tile_data: &TileData, x: i32, y: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_tile_at_position(tile_data: &TileData, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn is_walkable_tile(tile_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn is_water_tile(tile_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn is_wall_tile(tile_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn get_tile_type(tile_id: i32) -> TileType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TileData` is never constructed [INFO] [stdout] --> src/map/tile_loader.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct TileData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TileType` is never used [INFO] [stdout] --> src/map/tile_loader.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum TileType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `info` and `quantity_gd` are never read [INFO] [stdout] --> src/item/item.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Item { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 9 | pub template: Option, [INFO] [stdout] 10 | pub info: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | pub quantity_gd: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Item` 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: multiple associated items are never used [INFO] [stdout] --> src/item/item.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Item { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn from_template_id(template_id: i32, template: ItemTemplate) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn is_null_item(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_template_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get_type(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn get_option_param(&self, option_id: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn has_option(&self, option_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn add_option_param(&mut self, option_id: i32, param: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn sub_option_param(&mut self, option_id: i32, param: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn clone_item(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn set_content(&mut self, content: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn can_pha_le_hoa(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn is_skh(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn is_trang_bi_an(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn is_dts(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn is_dtl(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn is_dhd(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | pub fn is_manh_ts(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn is_cong_thuc_vip(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub fn is_cong_thuc_thuong(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn is_da_nang_cap(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn is_da_may_man(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn get_icon_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | pub fn get_part(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn get_gold(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn get_gem(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | pub fn get_str_require(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn can_use(&self, player_str: i32) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn get_description(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn get_gender(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | pub fn matches_gender(&self, player_gender: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_all_item_option_templates` is never used [INFO] [stdout] --> src/item/item_dao.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 10 | impl ItemDao { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub async fn get_all_item_option_templates( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/item/item_service.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl ItemService { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn get_item_option_template(&self, id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn get_item_id_by_icon(&self, icon_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn create_new_item(&self, template_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn create_new_item_with_quantity(&self, template_id: i32, quantity: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn copy_item(&self, item: &Item) -> Item { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn create_item_set_kich_hoat(&self, template_id: i32, quantity: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn create_item_do_huy_diet(&self, template_id: i32, quantity: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn random_skh_id(&self, gender: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn option_id_skh(&self, skh_id: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn is_item_activation(&self, _item: &Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn get_all_item_templates_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn get_all_item_option_templates_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn can_item_stack(&self, template_id: i32, item_type: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn get_item_template_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn get_item_option_template_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `item_service` is never read [INFO] [stdout] --> src/item/item_manager.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct ItemManager { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 14 | item_templates: Arc>>, [INFO] [stdout] 15 | item_service: ItemService, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/item/item_option.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl ItemOption { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn set_param(&mut self, param: i32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn get_option_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn is_combat_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn is_stat_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn is_skill_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn get_option_type(&self) -> OptionType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn get_option_rarity(&self) -> OptionRarity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn is_legendary_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn is_epic_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn is_rare_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn is_uncommon_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn is_common_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OptionType` is never used [INFO] [stdout] --> src/item/item_option.rs:130:10 [INFO] [stdout] | [INFO] [stdout] 130 | pub enum OptionType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OptionRarity` is never used [INFO] [stdout] --> src/item/item_option.rs:140:10 [INFO] [stdout] | [INFO] [stdout] 140 | pub enum OptionRarity { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/item/inventory.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Inventory { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub coupon: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 10 | pub event: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub items_box_crack_ball: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | pub train_armor: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub gift_codes: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub const_limit_gold: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | pub const_max_items_bag: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 25 | pub const_max_items_box: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Inventory` 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: multiple methods are never used [INFO] [stdout] --> src/item/inventory.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Inventory { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn get_gem_and_ruby(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn add_gold(&mut self, amount: i64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn sub_gold(&mut self, amount: i64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn add_gem(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn sub_gem(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn add_ruby(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn sub_ruby(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn sub_gem_and_ruby(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn add_item_bag(&mut self, item: Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn add_item_body(&mut self, item: Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn add_item_box(&mut self, item: Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn remove_item_bag(&mut self, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn remove_item_body(&mut self, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn remove_item_box(&mut self, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn get_item_bag(&self, index: usize) -> Option<&Item> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn get_item_body(&self, index: usize) -> Option<&Item> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn get_item_box(&self, index: usize) -> Option<&Item> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn get_item_count_by_id(&self, template_id: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn sub_quantity_item_by_id(&mut self, template_id: i32, quantity: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn is_bag_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn is_box_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn get_bag_item_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn get_body_item_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn get_box_item_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 233 | pub fn add_gift_code(&mut self, code: String) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn has_gift_code(&self, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn clear_all_items(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn dispose(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InventoryService` is never constructed [INFO] [stdout] --> src/item/inventory_service.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct InventoryService { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/item/inventory_service.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl InventoryService { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn get_instance() -> &'static mut InventoryService { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn init(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn is_initialized(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn add_item_to_bag(&self, inventory: &mut Inventory, item: Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn add_item_to_body(&self, inventory: &mut Inventory, item: Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn add_item_to_box(&self, inventory: &mut Inventory, item: Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn remove_item_from_bag(&self, inventory: &mut Inventory, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn remove_item_from_body(&self, inventory: &mut Inventory, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn remove_item_from_box(&self, inventory: &mut Inventory, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn get_item_from_bag<'a>(&self, inventory: &'a Inventory, index: usize) -> Option<&'a Item> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn get_item_from_body<'a>(&self, inventory: &'a Inventory, index: usize) -> Option<&'a Item> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn get_item_from_box<'a>(&self, inventory: &'a Inventory, index: usize) -> Option<&'a Item> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn get_item_count_by_id(&self, inventory: &Inventory, template_id: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn sub_quantity_item_by_id(&self, inventory: &mut Inventory, template_id: i32, quantity: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn add_gold(&self, inventory: &mut Inventory, amount: i64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn sub_gold(&self, inventory: &mut Inventory, amount: i64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn add_gem(&self, inventory: &mut Inventory, amount: i32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn sub_gem(&self, inventory: &mut Inventory, amount: i32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn add_ruby(&self, inventory: &mut Inventory, amount: i32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn sub_ruby(&self, inventory: &mut Inventory, amount: i32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn sub_gem_and_ruby(&self, inventory: &mut Inventory, amount: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn is_bag_full(&self, inventory: &Inventory) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn is_box_full(&self, inventory: &Inventory) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn get_bag_item_count(&self, inventory: &Inventory) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn get_body_item_count(&self, inventory: &Inventory) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn get_box_item_count(&self, inventory: &Inventory) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn add_gift_code(&self, inventory: &mut Inventory, code: String) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn has_gift_code(&self, inventory: &Inventory, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn clear_all_items(&self, inventory: &mut Inventory) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn dispose_inventory(&self, inventory: &mut Inventory) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn find_item_index_in_bag(&self, inventory: &Inventory, target_item: &Item) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn has_item(&self, inventory: &Inventory, template_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn has_enough_items(&self, inventory: &Inventory, template_id: i32, quantity: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/item/item_time.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ItemTime { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 6 | // Basic time constants [INFO] [stdout] 7 | pub const_time_item: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | pub const_time_open_power: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub is_use_bo_huyet: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub is_use_bo_khi: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 13 | pub is_use_giap_xen: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | pub is_use_cuong_no: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub is_use_an_danh: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub last_time_bo_huyet: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub last_time_bo_khi: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub last_time_giap_xen: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub last_time_cuong_no: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | pub last_time_an_danh: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ItemTime` 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: multiple associated items are never used [INFO] [stdout] --> src/item/item_time.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl ItemTime { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn can_do_with_time(&self, last_time: DateTime, required_duration: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn use_bo_huyet(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn use_bo_khi(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn use_giap_xen(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn use_cuong_no(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn use_an_danh(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `player_item_times` is never read [INFO] [stdout] --> src/item/item_time_service.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ItemTimeService { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 6 | player_item_times: HashMap, // player_id -> ItemTime [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_player_item_time`, `update_all_item_times`, `remove_player_item_time`, `get_player_count`, and `clear_all_item_times` are never used [INFO] [stdout] --> src/item/item_time_service.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl ItemTimeService { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn get_player_item_time(&mut self, player_id: i64) -> &mut ItemTime { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn update_all_item_times(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn remove_player_item_time(&mut self, player_id: i64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn get_player_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn clear_all_item_times(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ItemUtils` is never constructed [INFO] [stdout] --> src/item/item_utils.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ItemUtils; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/item/item_utils.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl ItemUtils { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 7 | pub fn calculate_item_value(item: &Item) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn calculate_option_value(options: &[ItemOption]) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn get_item_rarity(item: &Item) -> ItemRarity { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn is_equipment(item: &Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn is_consumable(item: &Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn is_material(item: &Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn can_stack(item: &Item) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn get_max_stack_size(item: &Item) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn can_combine_items(item1: &Item, item2: &Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn combine_items(item1: &Item, item2: &Item) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn split_item(item: &Item, split_quantity: i32) -> Option<(Item, Item)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn get_item_requirements(item: &Item) -> ItemRequirements { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn can_use_item(item: &Item, player_level: i32, player_gender: i32, player_class: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn get_item_effect_description(item: &Item) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn get_item_trade_info(item: &Item) -> ItemTradeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ItemRarity` is never used [INFO] [stdout] --> src/item/item_utils.rs:202:10 [INFO] [stdout] | [INFO] [stdout] 202 | pub enum ItemRarity { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ItemRequirements` is never constructed [INFO] [stdout] --> src/item/item_utils.rs:211:12 [INFO] [stdout] | [INFO] [stdout] 211 | pub struct ItemRequirements { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ItemTradeInfo` is never constructed [INFO] [stdout] --> src/item/item_utils.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 218 | pub struct ItemTradeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ItemValidator` is never constructed [INFO] [stdout] --> src/item/item_validator.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ItemValidator; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/item/item_validator.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl ItemValidator { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 7 | pub fn validate_item(item: &Item) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn validate_item_option(option: &ItemOption) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn is_valid_option_id(option_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn get_max_param_for_option(option_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn get_max_stack_size_for_template(template_id: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn validate_item_name(name: &str) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn validate_item_price(price: i32) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn validate_item_level(level: i32) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn can_item_be_equipped(item: &Item, player_level: i32, player_gender: i32, player_class: i32) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn is_equipment_type(item_type: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn is_consumable_type(item_type: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn is_material_type(item_type: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValidationResult` is never constructed [INFO] [stdout] --> src/item/item_validator.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 222 | pub struct ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/item/item_validator.rs:229:12 [INFO] [stdout] | [INFO] [stdout] 228 | impl ValidationResult { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 229 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn add_error(&mut self, error: String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn add_warning(&mut self, warning: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn has_errors(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn has_warnings(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn get_error_summary(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub fn get_warning_summary(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `player` and `send_player_info` are never used [INFO] [stdout] --> src/services/player_info_service.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 10 | impl PlayerInfoService { [INFO] [stdout] | ---------------------- associated functions in this implementation [INFO] [stdout] 11 | pub async fn player( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 350 | pub async fn send_player_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `item_templates`, `item_option_templates_by_id`, `item_time_service`, and `npc_manager` are never read [INFO] [stdout] --> src/services/manager.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct Manager { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 36 | pub item_templates:Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub item_option_templates_by_id: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub item_time_service: ItemTimeService, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 50 | pub npc_service: NpcService, [INFO] [stdout] 51 | pub npc_manager: NpcManager, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/services/manager.rs:341:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl Manager { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 341 | pub fn get_item_templates(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn get_intrinsic_templates(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_intrinsic_template_by_id(&self, id: i32) -> Option<&intrinsic::Model> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | pub fn get_mob_service(&self) -> &MobService { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 355 | pub fn get_item_time_service(&self) -> &ItemTimeService { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | pub fn get_npc_service(&self) -> &NpcService { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | pub fn get_npc_manager(&self) -> &NpcManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `maintenance`, `server_open_time`, and `maintenance_message` are never read [INFO] [stdout] --> src/services/god_gk.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct GodGK { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 8 | pub db: Option, [INFO] [stdout] 9 | pub maintenance: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | pub server_open_time: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub maintenance_message: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `login_god_gk`, `get_player_by_account`, `create_new_player`, and `update_account_last_login` are never used [INFO] [stdout] --> src/services/god_gk.rs:32:18 [INFO] [stdout] | [INFO] [stdout] 14 | impl GodGK { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 32 | pub async fn login_god_gk(&self, username: &str, password: &str) -> Result, DbErr> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub async fn get_player_by_account(&self, account_id: i32) -> Result, DbErr> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub async fn create_new_player(&self, account_id: i32, name: &str, gender: i32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub async fn update_account_last_login(&self, account_id: i32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServiceHandles` is never constructed [INFO] [stdout] --> src/services/services.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ServiceHandles { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spawn_all_services` is never used [INFO] [stdout] --> src/services/services.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn spawn_all_services() -> ServiceHandles { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/services/intrinsic_service.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 10 | impl IntrinsicService { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 11 | const COST_OPEN: [i32; 8] = [10, 20, 40, 80, 160, 320, 640, 1280]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | [INFO] [stdout] 13 | pub fn get_intrinsics(&self, player_gender: u8) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn get_intrinsic_by_id(&self, id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub async fn show_all_intrinsic(&self, session: &mut AsyncSession, player_gender: u8) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub async fn show_menu(&self, _session: &mut AsyncSession) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub async fn show_confirm_open(&self, _session: &mut AsyncSession, count_open: u8) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub async fn show_confirm_open_vip(&self, _session: &mut AsyncSession) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn change_intrinsic(&self, player_intrinsic: &mut IntrinsicPlayer, player_gender: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn open(&self, player_intrinsic: &mut IntrinsicPlayer, player_gender: u8, player_power: i64, player_gold: i64) -> Result Result src/services/message_service.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 9 | impl MessageService { [INFO] [stdout] | ------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub async fn send_to_other_players( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub async fn send_to_player( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `create_zone`, `get_zone`, `get_best_zone`, `send_message_to_all_players_in_map`, `send_message_to_other_players_in_map`, and `get_total_players_in_map` are never used [INFO] [stdout] --> src/services/zone_service.rs:22:18 [INFO] [stdout] | [INFO] [stdout] 8 | impl ZoneService { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 22 | pub async fn create_zone(map_id: i32, zone_id: i32, max_player: i32) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub async fn get_zone(map_id: i32, zone_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub async fn get_best_zone(map_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub async fn send_message_to_all_players_in_map( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub async fn send_message_to_other_players_in_map( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub async fn get_total_players_in_map(map_id: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `class_id` is never read [INFO] [stdout] --> src/data/data_game.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct SkillTemplate { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 32 | pub id: i8, [INFO] [stdout] 33 | pub class_id: i32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SkillTemplate` 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 functions `send_skill_data`, `send_item_data`, `update_item`, and `send_client_ok` are never used [INFO] [stdout] --> src/data/data_game.rs:448:18 [INFO] [stdout] | [INFO] [stdout] 52 | impl DataGame { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 448 | pub async fn send_skill_data( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 457 | pub async fn send_item_data( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 492 | pub async fn update_item(session: &mut AsyncSession) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 518 | pub async fn send_client_ok( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AntiLogin` is never constructed [INFO] [stdout] --> src/data/game_session.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct AntiLogin { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `can_login`, `wrong`, `reset`, and `get_notify_cannot_login` are never used [INFO] [stdout] --> src/data/game_session.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl AntiLogin { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn can_login(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn wrong(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn get_notify_cannot_login(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WayPoint` is never constructed [INFO] [stdout] --> src/data/waypoint.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct WayPoint { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/data/waypoint.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl WayPoint { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(id: i32, map_id: i32, min_x: i32, max_x: i32, min_y: i32, max_y: i32, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn is_in_area(&self, x: i32, y: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn get_center(&self) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_width(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_height(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn get_destination_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Skill` is never constructed [INFO] [stdout] --> src/models/skill_model.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Skill { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/models/skill_model.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Skill { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 11 | pub fn new(id: i16) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `param_from_2`, `param_to_2`, and `gender` are never read [INFO] [stdout] --> src/models/intrinsic.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Intrinsic { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub param_from_2: i16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 10 | pub param_to_2: i16, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 11 | pub icon: i16, [INFO] [stdout] 12 | pub gender: i8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Intrinsic` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_entity`, `from_intrinsic`, and `get_description` are never used [INFO] [stdout] --> src/models/intrinsic.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Intrinsic { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn from_entity(entity: &IntrinsicEntity) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn from_intrinsic(other: &Intrinsic) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_description(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `count_open` is never read [INFO] [stdout] --> src/models/intrinsic.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct IntrinsicPlayer { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 88 | pub count_open: u8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IntrinsicPlayer` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `dispose` is never used [INFO] [stdout] --> src/models/intrinsic.rs:100:12 [INFO] [stdout] | [INFO] [stdout] 92 | impl IntrinsicPlayer { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn dispose(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_placeholder`, `new_sync`, and `get_account_by_id` are never used [INFO] [stdout] --> src/utils/database.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Database { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn new_placeholder() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn new_sync() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub async fn get_account_by_id(&self, id: i32) -> Result, DbErr> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_map` and `update` are never used [INFO] [stdout] --> src/utils/location.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Location { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn get_map(&self) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TaskMain` is never constructed [INFO] [stdout] --> src/features/task_player.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct TaskMain { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TaskPlayer` is never constructed [INFO] [stdout] --> src/features/task_player.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct TaskPlayer { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/features/task_player.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl TaskPlayer { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SideTaskTemplate` is never constructed [INFO] [stdout] --> src/features/side_task_template.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct SideTaskTemplate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/features/side_task_template.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl SideTaskTemplate { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 9 | pub fn new(id: i32, name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptionCard` is never constructed [INFO] [stdout] --> src/features/option_card.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct OptionCard { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `npc_id`, `npc_say`, and `menu_select` are never read [INFO] [stdout] --> src/npc/npc.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct BaseMenu { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 7 | pub npc_id: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | pub npc_say: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | pub menu_select: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BaseMenu` 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 items `new`, `get_menu_count`, and `get_menu_option` are never used [INFO] [stdout] --> src/npc/npc.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl BaseMenu { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(npc_id: i32, npc_say: String, menu_select: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn get_menu_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn get_menu_option(&self, index: usize) -> Option<&String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/npc/npc.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Npc { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 33 | pub map_id: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 34 | pub status: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 35 | pub location: Location, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 36 | pub temp_id: i32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 37 | pub avatar: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 38 | pub base_menu: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 39 | pub create_time: DateTime, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Npc` 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: multiple associated items are never used [INFO] [stdout] --> src/npc/npc.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl Npc { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 43 | /// Create new NPC [INFO] [stdout] 44 | pub fn new(map_id: i32, status: i32, x: i32, y: i32, temp_id: i32, avatar: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn from_template(template: &NpcTemplate, map_id: i32, x: i32, y: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn init_base_menu(&mut self, text: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn get_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn get_position(&self) -> (i16, i16) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn set_position(&mut self, x: i32, y: i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn has_menu(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn get_base_menu(&self) -> Option<&BaseMenu> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn can_open_npc(&self, _player_id: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn is_in_range(&self, player_x: i32, player_y: i32, range: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `npcs` and `npcs_by_map` are never read [INFO] [stdout] --> src/npc/npc.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 139 | pub struct NpcManager { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 140 | npcs: HashMap, // npc_id -> Npc [INFO] [stdout] | ^^^^ [INFO] [stdout] 141 | npcs_by_map: HashMap>, // map_id -> Vec [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/npc/npc.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 144 | impl NpcManager { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn add_npc(&mut self, npc: Npc) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn get_npc(&self, npc_id: i32) -> Option<&Npc> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn get_npc_by_id_and_map(&self, npc_id: i32, map_id: i32) -> Option<&Npc> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn get_npcs_by_map(&self, map_id: i32) -> Vec<&Npc> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn remove_npc(&mut self, npc_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn update_all_npcs(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn get_npc_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn clear_all_npcs(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NpcFactory` is never constructed [INFO] [stdout] --> src/npc/npc_factory.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct NpcFactory; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `create_basic_npc`, `create_shop_npc`, `create_quest_npc`, and `create_npc_with_menu` are never used [INFO] [stdout] --> src/npc/npc_factory.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl NpcFactory { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 6 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | pub fn create_basic_npc(&self, template_id: i32, map_id: i32, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn create_shop_npc(&self, template_id: i32, map_id: i32, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn create_quest_npc(&self, template_id: i32, map_id: i32, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn create_npc_with_menu(&self, template_id: i32, map_id: i32, x: i32, y: i32, menu_text: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/npc/npc_service.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl NpcService { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn get_template(&self, id: i32) -> Option<&NpcTemplate> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn create_npc(&self, template_id: i32, map_id: i32, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn create_base_menu(&self, npc_id: i32, npc_say: &str, menu_options: Vec) -> BaseMenu { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn create_simple_menu(&self, npc_id: i32, npc_say: &str, menu_options: &[&str]) -> BaseMenu { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_npcs_in_range<'a>(&self, npcs: &'a [Npc], player_x: i32, player_y: i32, range: i32) -> Vec<&'a Npc> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn get_all_templates(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn get_template_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/item/item_validator.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 103 | 537..=542 => 999, // Stackable items [INFO] [stdout] | --------- matches all the relevant values [INFO] [stdout] 104 | 2069 => 999, // Stackable item [INFO] [stdout] 105 | 540 => 999, // Stackable item [INFO] [stdout] | ^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player_level` [INFO] [stdout] --> src/item/item_validator.rs:185:46 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn can_item_be_equipped(item: &Item, player_level: i32, player_gender: i32, player_class: i32) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player_class` [INFO] [stdout] --> src/item/item_validator.rs:185:85 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn can_item_be_equipped(item: &Item, player_level: i32, player_gender: i32, player_class: i32) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_class` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/item/item_validator.rs:187:13 [INFO] [stdout] | [INFO] [stdout] 187 | let mut warnings = Vec::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/map/map_service.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | if INSTANCE.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/map/map_service.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | INSTANCE.as_mut().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> src/map/map_service.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | map.update(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/map/item_map_service.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | if INSTANCE.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/map/item_map_service.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | INSTANCE.as_mut().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/item/inventory_service.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | if INSTANCE.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/item/inventory_service.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | INSTANCE.as_mut().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `is_admin` and `vnd` are never read [INFO] [stdout] --> src/network/async_net/session.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct AsyncSession { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub is_admin: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 20 | pub version: i32, [INFO] [stdout] 21 | pub vnd: i32, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_key`, `get_player_mut`, `set_admin`, `is_admin`, `set_vnd`, and `get_vnd` are never used [INFO] [stdout] --> src/network/async_net/session.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl AsyncSession { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn get_key(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn get_player_mut(&mut self) -> Option<&mut RtPlayer> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn set_admin(&mut self, is_admin: bool) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn is_admin(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn set_vnd(&mut self, vnd: i32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn get_vnd(&self) -> i32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `send_welcome_message` is never used [INFO] [stdout] --> src/network/async_net/controller.rs:353:14 [INFO] [stdout] | [INFO] [stdout] 14 | impl AsyncController { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 353 | async fn send_welcome_message(session: &mut AsyncSession) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/network/async_net/message.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Message { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn read(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn read_bytes(&mut self, buf: &mut [u8]) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn read_boolean(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn read_byte(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn read_unsigned_byte(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn read_short(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn read_unsigned_short(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn read_int(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn read_long(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn read_float(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn read_double(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn read_char(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn read_utf(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn read_fully(&mut self, buf: &mut [u8]) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn write_bytes(&mut self, s: &str) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn write_char(&mut self, value: char) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn write_chars(&mut self, s: &str) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn write_double(&mut self, value: f64) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn write_float(&mut self, value: f32) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn dispose(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/player/player.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Player { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 27 | pub intrinsic: IntrinsicPlayer, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub before_dispose: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub is_train: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 37 | pub type_train: u8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 38 | pub time_off: u64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub last_time_use_option: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | pub last_time_revived: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 48 | [INFO] [stdout] 49 | pub just_revived: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 50 | pub is_fight: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 51 | pub is_fight1: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 52 | pub is_try: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 53 | pub is_try1: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub is_admin: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 57 | pub admin_key: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 58 | [INFO] [stdout] 59 | pub notify: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Player` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/player/player.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 64 | impl Player { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn from_entity(model: &entities::player::Model) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn parse_inventory_json(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | fn parse_location_array(s: &str) -> Result<(i64, i64, i64), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn parse_point_array(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | pub fn injured(&mut self, damage: u64, piercing: bool) -> u64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | pub fn set_die(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn revive(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn chat(&self, text: &str) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 277 | pub fn is_admin(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn admin_key(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | pub fn prepared_to_dispose(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub fn dispose(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | pub fn set_fight(&mut self, _type_fight: u8, _type_target: u8) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn reset_fight(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn start_training(&mut self, type_train: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 312 | pub fn stop_training(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | pub fn set_notify(&mut self, notify: String) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 321 | pub fn clear_notify(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | pub fn set_session(&mut self, session: Arc>) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | pub fn clear_zone(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/player/player_service.rs:27:18 [INFO] [stdout] | [INFO] [stdout] 14 | impl PlayerService { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub async fn remove_player(&self, player_id: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub async fn get_all_players(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub async fn damage_player(&self, player_id: u64, damage: u64, piercing: bool) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub async fn heal_player(&self, player_id: u64, amount: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub async fn revive_player(&self, player_id: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub async fn move_player(&self, player_id: u64, x: i16, y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub async fn change_player_map(&self, player_id: u64, map_id: u32, zone_id: u32, x: i16, y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub async fn send_message_to_player(&self, player_id: u64, msg: Message) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub async fn broadcast_message(&self, msg: Message) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub async fn get_player_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub async fn get_online_players(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub async fn get_players_in_map(&self, map_id: u32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn get_players_in_zone(&self, map_id: u32, zone_id: u32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub async fn set_player_admin(&self, player_id: u64, is_admin: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub async fn kick_player(&self, player_id: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub async fn cleanup_disconnected_players(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayerSkill` is never constructed [INFO] [stdout] --> src/player/player_skill.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct PlayerSkill { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/player/player_skill.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl PlayerSkill { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 9 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Friend` is never constructed [INFO] [stdout] --> src/player/player_friend.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Friend { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Enemy` is never constructed [INFO] [stdout] --> src/player/player_friend.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Enemy { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/player/n_point.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl NPoint { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn set_hp(&mut self, hp: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn set_mp(&mut self, mp: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn sub_hp(&mut self, damage: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn add_hp(&mut self, amount: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn add_mp(&mut self, amount: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn is_die(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn cal_point(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayerIntrinsic` is never constructed [INFO] [stdout] --> src/player/player_intrinsic.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct PlayerIntrinsic { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/player/player_intrinsic.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl PlayerIntrinsic { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn from_intrinsic(intrinsic: Intrinsic) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn get_intrinsic(&self) -> &IntrinsicPlayer { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn get_intrinsic_mut(&mut self) -> &mut IntrinsicPlayer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn has_intrinsic(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn get_intrinsic_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn get_intrinsic_icon(&self) -> i16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn get_intrinsic_level(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn set_intrinsic_level(&mut self, level: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn upgrade_intrinsic(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn get_upgrade_cost(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn can_upgrade(&self, player_gold: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayerItemTime` is never constructed [INFO] [stdout] --> src/player/player_item_time.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct PlayerItemTime { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/player/player_item_time.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl PlayerItemTime { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn use_an_danh(&mut self, level: u8) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn is_an_danh_active(&self, level: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn get_an_danh_remaining_time(&self, level: u8) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn has_any_an_danh_active(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn get_active_an_danh_levels(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn clear_all_an_danh(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `name`, and `is_alive` are never read [INFO] [stdout] --> src/mob/mob.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct RtMob { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 6 | pub id: u64, [INFO] [stdout] | ^^ [INFO] [stdout] 7 | pub template_id: i32, [INFO] [stdout] 8 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub is_alive: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RtMob` 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: multiple methods are never used [INFO] [stdout] --> src/mob/mob.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl RtMob { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn get_hp_percent(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_mp_percent(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn is_dead(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn take_damage(&mut self, damage: i32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn heal(&mut self, amount: i32) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn restore_mp(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn get_x(&self) -> i16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_y(&self) -> i16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn get_map_id(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn get_zone_id(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `load_mob_template`, `create_mob_from_template`, `save_mob_state`, and `load_mob_state` are never used [INFO] [stdout] --> src/mob/mob_dao.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 7 | impl MobDao { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 8 | pub async fn load_mob_template( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub async fn create_mob_from_template( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub async fn save_mob_state( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub async fn load_mob_state( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mobs` and `next_mob_id` are never read [INFO] [stdout] --> src/mob/mob_service.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct MobService { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 11 | mobs: Arc>>, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | next_mob_id: Arc>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/mob/mob_service.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 16 | impl MobService { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | pub async fn create_mob(&self, template_id: i32, map_id: u32, zone_id: u32, x: i16, y: i16) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub async fn get_mob(&self, mob_id: u64) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub async fn get_mobs_in_map(&self, map_id: u32, zone_id: u32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub async fn remove_mob(&self, mob_id: u64) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub async fn update_mob(&self, mob_id: u64, update_fn: impl FnOnce(&mut RtMob)) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub async fn damage_mob(&self, mob_id: u64, damage: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub async fn heal_mob(&self, mob_id: u64, amount: i32) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub async fn move_mob(&self, mob_id: u64, new_x: i16, new_y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub async fn send_mob_info(&self, session: &mut AsyncSession, mob: &RtMob) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub async fn send_mobs_in_map(&self, session: &mut AsyncSession, map_id: u32, zone_id: u32) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub async fn cleanup_dead_mobs(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub async fn get_mob_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub async fn get_alive_mob_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `go_map`, `go_x`, and `go_y` are never read [INFO] [stdout] --> src/map/map.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct WayPoint { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | pub go_map: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 23 | pub go_x: i16, [INFO] [stdout] | ^^^^ [INFO] [stdout] 24 | pub go_y: i16, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WayPoint` 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: method `contains_position` is never used [INFO] [stdout] --> src/map/map.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl WayPoint { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn contains_position(&self, x: i16, y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/map/map.rs:171:18 [INFO] [stdout] | [INFO] [stdout] 86 | impl Map { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 171 | pub async fn get_waypoint_at_position(&self, x: i16, y: i16) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub async fn get_zone(&self, zone_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub async fn get_best_zone(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub async fn get_all_zones(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub async fn is_active(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub async fn set_active(&self, active: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub async fn get_map_info(&self) -> MapInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MapInfo` is never constructed [INFO] [stdout] --> src/map/map.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct MapInfo { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_tile_map_file` is never used [INFO] [stdout] --> src/map/map.rs:311:4 [INFO] [stdout] | [INFO] [stdout] 311 | fn read_tile_map_file(map_id: i32) -> Option<(i32, i32, Vec>)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_tile_top_file` is never used [INFO] [stdout] --> src/map/map.rs:331:4 [INFO] [stdout] | [INFO] [stdout] 331 | fn read_tile_top_file(tile_id: i32) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `load_map_template`, `load_all_map_templates`, and `create_map_from_template` are never used [INFO] [stdout] --> src/map/map_dao.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 9 | impl MapDao { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 10 | pub async fn load_map_template( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub async fn load_all_map_templates( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub async fn create_map_from_template( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `initialized` and `maps` are never read [INFO] [stdout] --> src/map/map_service.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct MapService { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 7 | // Service state [INFO] [stdout] 8 | initialized: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | maps: HashMap, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/map/map_service.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl MapService { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn init(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn is_initialized(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn get_waypoint_player_in(&self, player: &Player) -> Option<&WayPoint> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn get_map_by_id(&self, map_id: i32) -> Option<&Map> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn get_map_by_id_mut(&mut self, map_id: i32) -> Option<&mut Map> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn add_map(&mut self, map: Map) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn remove_map(&mut self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn get_all_maps(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn get_map_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn get_map_can_join(&self, player: &Player, map_id: i32, zone_id: i32) -> Option<&Zone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn is_map_offline(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn is_map_cold(&self, map: &Map) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn is_map_ban_do_kho_bau(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn is_map_doanh_trai(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn is_map_ma_bu(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn is_map_satan(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn get_map_capsule(&self, player: &Player) -> Vec<&Zone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn get_map_black_ball(&self) -> Vec<&Zone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn get_map_ma_bu(&self) -> Vec<&Zone> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn get_map_satan(&self) -> Vec<&Zone> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn get_map_by_name(&self, name: &str) -> Option<&Map> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn get_maps_by_planet(&self, planet_id: i32) -> Vec<&Map> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn get_maps_by_type(&self, map_type: i32) -> Vec<&Map> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn can_player_join_map(&self, player: &Player, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn get_best_zone_for_player(&self, player: &Player, map_id: i32) -> Option<&Zone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn update_all_maps(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn clear_all_maps(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn get_map_info(&self, player: &Player, map_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/map/map_manager.rs:34:18 [INFO] [stdout] | [INFO] [stdout] 13 | impl MapManager { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 34 | pub async fn get_all_maps(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub async fn get_maps_by_planet(&self, planet_id: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub async fn get_maps_by_type(&self, map_type: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub async fn get_map_by_name(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub async fn remove_map(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub async fn get_map_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub async fn clear_all_maps(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub async fn is_map_exists(&self, map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub async fn get_active_maps(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/map/waypoint.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl WayPoint { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn contains_position(&self, x: i16, y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_center_position(&self) -> (i16, i16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn get_area(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn get_destination_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn is_enter_waypoint(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn is_offline_waypoint(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn can_teleport(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/map/zone.rs:38:18 [INFO] [stdout] | [INFO] [stdout] 25 | impl Zone { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 38 | pub async fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub async fn is_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub async fn remove_player(&self, player_id: u64) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub async fn get_all_players(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub async fn remove_mob(&self, mob_id: u64) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub async fn get_all_mobs(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub async fn add_item(&self, item: ItemMap) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub async fn remove_item(&self, item_id: i32) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub async fn get_all_items(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub async fn get_zone_info(&self) -> ZoneInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn to_zone_info(&self, current_players: i32, mob_count: i32, item_count: i32) -> ZoneInfo { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub async fn send_message_to_other_players( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ZoneInfo` is never constructed [INFO] [stdout] --> src/map/zone.rs:442:12 [INFO] [stdout] | [INFO] [stdout] 442 | pub struct ZoneInfo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/map/zone_manager.rs:26:18 [INFO] [stdout] | [INFO] [stdout] 11 | impl ZoneManager { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub async fn get_zone(&self, map_id: i32, zone_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub async fn get_zones_for_map(&self, map_id: i32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub async fn send_message_to_all_players_in_map( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub async fn send_message_to_other_players_in_map( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub async fn get_total_players_in_map(&self, map_id: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub async fn get_zone_count_for_map(&self, map_id: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub async fn remove_zone(&self, map_id: i32, zone_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub async fn clear_zones_for_map(&self, map_id: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub async fn get_all_zones(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub async fn get_zone_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ItemMap` is never constructed [INFO] [stdout] --> src/map/item_map.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ItemMap { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/map/item_map.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl ItemMap { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 23 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn is_not_null_item(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn is_null_item(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn get_item_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_item_id(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn get_quantity(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn set_quantity(&mut self, quantity: i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn get_position(&self) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn set_position(&mut self, x: i32, y: i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_player_id(&self) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn set_player_id(&mut self, player_id: i64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn get_clan_id(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn set_clan_id(&mut self, clan_id: i32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn is_black_ball(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn is_namec_ball(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn get_create_time(&self) -> DateTime { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn get_last_move_time(&self) -> DateTime { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn update_last_move_time(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_age(&self) -> i64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn is_expired(&self, max_age_seconds: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn get_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn get_content(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn add_option(&mut self, option: ItemOption) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn get_option_param(&self, option_id: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn has_option(&self, option_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn get_options(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn clear_options(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn is_black_ball_template(template_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn is_namec_ball_template(template_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn is_valuable_item(template_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn get_item_rarity(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ItemMapService` is never constructed [INFO] [stdout] --> src/map/item_map_service.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ItemMapService { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/map/item_map_service.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ItemMapService { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn get_instance() -> &'static mut ItemMapService { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn create_item_map( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn get_item_map(&self, item_map_id: i32) -> Option<&ItemMap> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn remove_item_map(&mut self, item_map_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn get_all_item_maps(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn update_all_item_maps(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn is_black_ball(&self, template_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn is_namec_ball(&self, template_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn get_item_maps_in_area(&self, x: i32, y: i32, radius: i32) -> Vec<&ItemMap> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn get_item_map_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn clear_all_item_maps(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MapUtils` is never constructed [INFO] [stdout] --> src/map/map_utils.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct MapUtils; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/map/map_utils.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl MapUtils { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 8 | pub fn calculate_distance(x1: i32, y1: i32, x2: i32, y2: i32) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn is_position_in_range(x1: i32, y1: i32, x2: i32, y2: i32, range: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn get_random_position_in_map(map: &Map) -> (i16, i16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn get_safe_spawn_position(map: &Map) -> (i16, i16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn is_safe_position(map: &Map, x: i16, y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn get_tile_at_position(map: &Map, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn find_path_to_target( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn is_direct_path_clear( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn get_players_in_range( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn get_mobs_in_range( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_items_in_range( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn validate_map_coordinates(map: &Map, x: i16, y: i16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn get_map_center(map: &Map) -> (i16, i16) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn get_map_corners(map: &Map) -> [(i16, i16); 4] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn is_map_full(map: &Map) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn get_map_population(map: &Map) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn get_map_info_string(map: &Map) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/map/tile_loader.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl TileLoader { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn load_tile_data(map_id: i32, tile_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn validate_tile_position(tile_data: &TileData, x: i32, y: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_tile_at_position(tile_data: &TileData, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn is_walkable_tile(tile_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn is_water_tile(tile_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn is_wall_tile(tile_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn get_tile_type(tile_id: i32) -> TileType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TileData` is never constructed [INFO] [stdout] --> src/map/tile_loader.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct TileData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TileType` is never used [INFO] [stdout] --> src/map/tile_loader.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | pub enum TileType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `info` and `quantity_gd` are never read [INFO] [stdout] --> src/item/item.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Item { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 9 | pub template: Option, [INFO] [stdout] 10 | pub info: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | pub quantity_gd: i32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Item` 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: multiple associated items are never used [INFO] [stdout] --> src/item/item.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Item { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn from_template_id(template_id: i32, template: ItemTemplate) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn is_null_item(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_template_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn get_type(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn get_option_param(&self, option_id: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn has_option(&self, option_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn add_option_param(&mut self, option_id: i32, param: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn sub_option_param(&mut self, option_id: i32, param: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn clone_item(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn set_content(&mut self, content: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn can_pha_le_hoa(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn is_skh(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn is_trang_bi_an(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn is_dts(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn is_dtl(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn is_dhd(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | pub fn is_manh_ts(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn is_cong_thuc_vip(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub fn is_cong_thuc_thuong(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn is_da_nang_cap(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn is_da_may_man(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn get_icon_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | pub fn get_part(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn get_gold(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn get_gem(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | pub fn get_str_require(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn can_use(&self, player_str: i32) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn get_description(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn get_gender(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | pub fn matches_gender(&self, player_gender: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_all_item_option_templates` is never used [INFO] [stdout] --> src/item/item_dao.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 10 | impl ItemDao { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub async fn get_all_item_option_templates( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/item/item_service.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl ItemService { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn get_item_option_template(&self, id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn get_item_id_by_icon(&self, icon_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn create_new_item(&self, template_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn create_new_item_with_quantity(&self, template_id: i32, quantity: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn copy_item(&self, item: &Item) -> Item { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn create_item_set_kich_hoat(&self, template_id: i32, quantity: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn create_item_do_huy_diet(&self, template_id: i32, quantity: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn random_skh_id(&self, gender: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn option_id_skh(&self, skh_id: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn is_item_activation(&self, _item: &Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn get_all_item_templates_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn get_all_item_option_templates_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn can_item_stack(&self, template_id: i32, item_type: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn get_item_template_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn get_item_option_template_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `item_service` is never read [INFO] [stdout] --> src/item/item_manager.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct ItemManager { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 14 | item_templates: Arc>>, [INFO] [stdout] 15 | item_service: ItemService, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/item/item_option.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl ItemOption { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn set_param(&mut self, param: i32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn get_option_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn is_combat_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn is_stat_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn is_skill_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn get_option_type(&self) -> OptionType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn get_option_rarity(&self) -> OptionRarity { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn is_legendary_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn is_epic_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn is_rare_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn is_uncommon_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn is_common_option(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OptionType` is never used [INFO] [stdout] --> src/item/item_option.rs:130:10 [INFO] [stdout] | [INFO] [stdout] 130 | pub enum OptionType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OptionRarity` is never used [INFO] [stdout] --> src/item/item_option.rs:140:10 [INFO] [stdout] | [INFO] [stdout] 140 | pub enum OptionRarity { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/item/inventory.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Inventory { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub coupon: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 10 | pub event: i32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub items_box_crack_ball: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | pub train_armor: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub gift_codes: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub const_limit_gold: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | pub const_max_items_bag: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 25 | pub const_max_items_box: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Inventory` 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: multiple methods are never used [INFO] [stdout] --> src/item/inventory.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Inventory { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn get_gem_and_ruby(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn add_gold(&mut self, amount: i64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn sub_gold(&mut self, amount: i64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn add_gem(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn sub_gem(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn add_ruby(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn sub_ruby(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn sub_gem_and_ruby(&mut self, amount: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn add_item_bag(&mut self, item: Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn add_item_body(&mut self, item: Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn add_item_box(&mut self, item: Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn remove_item_bag(&mut self, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn remove_item_body(&mut self, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn remove_item_box(&mut self, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn get_item_bag(&self, index: usize) -> Option<&Item> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn get_item_body(&self, index: usize) -> Option<&Item> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn get_item_box(&self, index: usize) -> Option<&Item> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn get_item_count_by_id(&self, template_id: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn sub_quantity_item_by_id(&mut self, template_id: i32, quantity: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn is_bag_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn is_box_full(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn get_bag_item_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn get_body_item_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn get_box_item_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 233 | pub fn add_gift_code(&mut self, code: String) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn has_gift_code(&self, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn clear_all_items(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn dispose(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InventoryService` is never constructed [INFO] [stdout] --> src/item/inventory_service.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct InventoryService { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/item/inventory_service.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl InventoryService { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn get_instance() -> &'static mut InventoryService { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn init(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn is_initialized(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn add_item_to_bag(&self, inventory: &mut Inventory, item: Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn add_item_to_body(&self, inventory: &mut Inventory, item: Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn add_item_to_box(&self, inventory: &mut Inventory, item: Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn remove_item_from_bag(&self, inventory: &mut Inventory, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn remove_item_from_body(&self, inventory: &mut Inventory, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn remove_item_from_box(&self, inventory: &mut Inventory, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn get_item_from_bag<'a>(&self, inventory: &'a Inventory, index: usize) -> Option<&'a Item> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn get_item_from_body<'a>(&self, inventory: &'a Inventory, index: usize) -> Option<&'a Item> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn get_item_from_box<'a>(&self, inventory: &'a Inventory, index: usize) -> Option<&'a Item> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn get_item_count_by_id(&self, inventory: &Inventory, template_id: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn sub_quantity_item_by_id(&self, inventory: &mut Inventory, template_id: i32, quantity: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn add_gold(&self, inventory: &mut Inventory, amount: i64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn sub_gold(&self, inventory: &mut Inventory, amount: i64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn add_gem(&self, inventory: &mut Inventory, amount: i32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn sub_gem(&self, inventory: &mut Inventory, amount: i32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn add_ruby(&self, inventory: &mut Inventory, amount: i32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn sub_ruby(&self, inventory: &mut Inventory, amount: i32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn sub_gem_and_ruby(&self, inventory: &mut Inventory, amount: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn is_bag_full(&self, inventory: &Inventory) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn is_box_full(&self, inventory: &Inventory) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn get_bag_item_count(&self, inventory: &Inventory) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn get_body_item_count(&self, inventory: &Inventory) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn get_box_item_count(&self, inventory: &Inventory) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn add_gift_code(&self, inventory: &mut Inventory, code: String) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn has_gift_code(&self, inventory: &Inventory, code: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn clear_all_items(&self, inventory: &mut Inventory) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn dispose_inventory(&self, inventory: &mut Inventory) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn find_item_index_in_bag(&self, inventory: &Inventory, target_item: &Item) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn has_item(&self, inventory: &Inventory, template_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn has_enough_items(&self, inventory: &Inventory, template_id: i32, quantity: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/item/item_time.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ItemTime { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 6 | // Basic time constants [INFO] [stdout] 7 | pub const_time_item: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | pub const_time_open_power: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub is_use_bo_huyet: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub is_use_bo_khi: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 13 | pub is_use_giap_xen: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | pub is_use_cuong_no: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub is_use_an_danh: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub last_time_bo_huyet: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub last_time_bo_khi: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | pub last_time_giap_xen: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub last_time_cuong_no: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | pub last_time_an_danh: DateTime, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ItemTime` 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: multiple associated items are never used [INFO] [stdout] --> src/item/item_time.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl ItemTime { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 26 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn can_do_with_time(&self, last_time: DateTime, required_duration: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn use_bo_huyet(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn use_bo_khi(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn use_giap_xen(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn use_cuong_no(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn use_an_danh(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `player_item_times` is never read [INFO] [stdout] --> src/item/item_time_service.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ItemTimeService { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 6 | player_item_times: HashMap, // player_id -> ItemTime [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_player_item_time`, `update_all_item_times`, `remove_player_item_time`, `get_player_count`, and `clear_all_item_times` are never used [INFO] [stdout] --> src/item/item_time_service.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl ItemTimeService { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn get_player_item_time(&mut self, player_id: i64) -> &mut ItemTime { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn update_all_item_times(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn remove_player_item_time(&mut self, player_id: i64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn get_player_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn clear_all_item_times(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ItemUtils` is never constructed [INFO] [stdout] --> src/item/item_utils.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ItemUtils; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/item/item_utils.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl ItemUtils { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 7 | pub fn calculate_item_value(item: &Item) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn calculate_option_value(options: &[ItemOption]) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn get_item_rarity(item: &Item) -> ItemRarity { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn is_equipment(item: &Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn is_consumable(item: &Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn is_material(item: &Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn can_stack(item: &Item) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn get_max_stack_size(item: &Item) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn can_combine_items(item1: &Item, item2: &Item) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn combine_items(item1: &Item, item2: &Item) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn split_item(item: &Item, split_quantity: i32) -> Option<(Item, Item)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn get_item_requirements(item: &Item) -> ItemRequirements { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn can_use_item(item: &Item, player_level: i32, player_gender: i32, player_class: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn get_item_effect_description(item: &Item) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn get_item_trade_info(item: &Item) -> ItemTradeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ItemRarity` is never used [INFO] [stdout] --> src/item/item_utils.rs:202:10 [INFO] [stdout] | [INFO] [stdout] 202 | pub enum ItemRarity { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ItemRequirements` is never constructed [INFO] [stdout] --> src/item/item_utils.rs:211:12 [INFO] [stdout] | [INFO] [stdout] 211 | pub struct ItemRequirements { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ItemTradeInfo` is never constructed [INFO] [stdout] --> src/item/item_utils.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 218 | pub struct ItemTradeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ItemValidator` is never constructed [INFO] [stdout] --> src/item/item_validator.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ItemValidator; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/item/item_validator.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl ItemValidator { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 7 | pub fn validate_item(item: &Item) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn validate_item_option(option: &ItemOption) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn is_valid_option_id(option_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn get_max_param_for_option(option_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn get_max_stack_size_for_template(template_id: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn validate_item_name(name: &str) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn validate_item_price(price: i32) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn validate_item_level(level: i32) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn can_item_be_equipped(item: &Item, player_level: i32, player_gender: i32, player_class: i32) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn is_equipment_type(item_type: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn is_consumable_type(item_type: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn is_material_type(item_type: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValidationResult` is never constructed [INFO] [stdout] --> src/item/item_validator.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 222 | pub struct ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/item/item_validator.rs:229:12 [INFO] [stdout] | [INFO] [stdout] 228 | impl ValidationResult { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 229 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn add_error(&mut self, error: String) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn add_warning(&mut self, warning: String) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn has_errors(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn has_warnings(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn get_error_summary(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub fn get_warning_summary(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `player` and `send_player_info` are never used [INFO] [stdout] --> src/services/player_info_service.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 10 | impl PlayerInfoService { [INFO] [stdout] | ---------------------- associated functions in this implementation [INFO] [stdout] 11 | pub async fn player( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 350 | pub async fn send_player_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `item_templates`, `item_option_templates_by_id`, `item_time_service`, and `npc_manager` are never read [INFO] [stdout] --> src/services/manager.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct Manager { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 36 | pub item_templates:Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub item_option_templates_by_id: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub item_time_service: ItemTimeService, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 50 | pub npc_service: NpcService, [INFO] [stdout] 51 | pub npc_manager: NpcManager, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/services/manager.rs:341:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl Manager { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 341 | pub fn get_item_templates(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 344 | pub fn get_intrinsic_templates(&self) -> &Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub fn get_intrinsic_template_by_id(&self, id: i32) -> Option<&intrinsic::Model> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | pub fn get_mob_service(&self) -> &MobService { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 355 | pub fn get_item_time_service(&self) -> &ItemTimeService { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | pub fn get_npc_service(&self) -> &NpcService { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | pub fn get_npc_manager(&self) -> &NpcManager { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `maintenance`, `server_open_time`, and `maintenance_message` are never read [INFO] [stdout] --> src/services/god_gk.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct GodGK { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 8 | pub db: Option, [INFO] [stdout] 9 | pub maintenance: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | pub server_open_time: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub maintenance_message: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `login_god_gk`, `get_player_by_account`, `create_new_player`, and `update_account_last_login` are never used [INFO] [stdout] --> src/services/god_gk.rs:32:18 [INFO] [stdout] | [INFO] [stdout] 14 | impl GodGK { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 32 | pub async fn login_god_gk(&self, username: &str, password: &str) -> Result, DbErr> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub async fn get_player_by_account(&self, account_id: i32) -> Result, DbErr> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub async fn create_new_player(&self, account_id: i32, name: &str, gender: i32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub async fn update_account_last_login(&self, account_id: i32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServiceHandles` is never constructed [INFO] [stdout] --> src/services/services.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ServiceHandles { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spawn_all_services` is never used [INFO] [stdout] --> src/services/services.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn spawn_all_services() -> ServiceHandles { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/services/intrinsic_service.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 10 | impl IntrinsicService { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 11 | const COST_OPEN: [i32; 8] = [10, 20, 40, 80, 160, 320, 640, 1280]; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | [INFO] [stdout] 13 | pub fn get_intrinsics(&self, player_gender: u8) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn get_intrinsic_by_id(&self, id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub async fn show_all_intrinsic(&self, session: &mut AsyncSession, player_gender: u8) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub async fn show_menu(&self, _session: &mut AsyncSession) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub async fn show_confirm_open(&self, _session: &mut AsyncSession, count_open: u8) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub async fn show_confirm_open_vip(&self, _session: &mut AsyncSession) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn change_intrinsic(&self, player_intrinsic: &mut IntrinsicPlayer, player_gender: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn open(&self, player_intrinsic: &mut IntrinsicPlayer, player_gender: u8, player_power: i64, player_gold: i64) -> Result Result src/services/message_service.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 9 | impl MessageService { [INFO] [stdout] | ------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub async fn send_to_other_players( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub async fn send_to_player( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `create_zone`, `get_zone`, `get_best_zone`, `send_message_to_all_players_in_map`, `send_message_to_other_players_in_map`, and `get_total_players_in_map` are never used [INFO] [stdout] --> src/services/zone_service.rs:22:18 [INFO] [stdout] | [INFO] [stdout] 8 | impl ZoneService { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 22 | pub async fn create_zone(map_id: i32, zone_id: i32, max_player: i32) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub async fn get_zone(map_id: i32, zone_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub async fn get_best_zone(map_id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub async fn send_message_to_all_players_in_map( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub async fn send_message_to_other_players_in_map( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub async fn get_total_players_in_map(map_id: i32) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `class_id` is never read [INFO] [stdout] --> src/data/data_game.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct SkillTemplate { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 32 | pub id: i8, [INFO] [stdout] 33 | pub class_id: i32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SkillTemplate` 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 functions `send_skill_data`, `send_item_data`, `update_item`, and `send_client_ok` are never used [INFO] [stdout] --> src/data/data_game.rs:448:18 [INFO] [stdout] | [INFO] [stdout] 52 | impl DataGame { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 448 | pub async fn send_skill_data( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 457 | pub async fn send_item_data( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 492 | pub async fn update_item(session: &mut AsyncSession) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 518 | pub async fn send_client_ok( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AntiLogin` is never constructed [INFO] [stdout] --> src/data/game_session.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct AntiLogin { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `can_login`, `wrong`, `reset`, and `get_notify_cannot_login` are never used [INFO] [stdout] --> src/data/game_session.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl AntiLogin { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn can_login(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn wrong(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn get_notify_cannot_login(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WayPoint` is never constructed [INFO] [stdout] --> src/data/waypoint.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct WayPoint { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/data/waypoint.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl WayPoint { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(id: i32, map_id: i32, min_x: i32, max_x: i32, min_y: i32, max_y: i32, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn is_in_area(&self, x: i32, y: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn get_center(&self) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_width(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn get_height(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn is_valid(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn get_destination_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Skill` is never constructed [INFO] [stdout] --> src/models/skill_model.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Skill { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/models/skill_model.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Skill { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 11 | pub fn new(id: i16) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `param_from_2`, `param_to_2`, and `gender` are never read [INFO] [stdout] --> src/models/intrinsic.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Intrinsic { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub param_from_2: i16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 10 | pub param_to_2: i16, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 11 | pub icon: i16, [INFO] [stdout] 12 | pub gender: i8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Intrinsic` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_entity`, `from_intrinsic`, and `get_description` are never used [INFO] [stdout] --> src/models/intrinsic.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Intrinsic { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn from_entity(entity: &IntrinsicEntity) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn from_intrinsic(other: &Intrinsic) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_description(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `count_open` is never read [INFO] [stdout] --> src/models/intrinsic.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct IntrinsicPlayer { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 88 | pub count_open: u8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IntrinsicPlayer` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `dispose` is never used [INFO] [stdout] --> src/models/intrinsic.rs:100:12 [INFO] [stdout] | [INFO] [stdout] 92 | impl IntrinsicPlayer { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn dispose(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_placeholder`, `new_sync`, and `get_account_by_id` are never used [INFO] [stdout] --> src/utils/database.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Database { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn new_placeholder() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn new_sync() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub async fn get_account_by_id(&self, id: i32) -> Result, DbErr> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_map` and `update` are never used [INFO] [stdout] --> src/utils/location.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Location { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn get_map(&self) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TaskMain` is never constructed [INFO] [stdout] --> src/features/task_player.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct TaskMain { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TaskPlayer` is never constructed [INFO] [stdout] --> src/features/task_player.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct TaskPlayer { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/features/task_player.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl TaskPlayer { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SideTaskTemplate` is never constructed [INFO] [stdout] --> src/features/side_task_template.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct SideTaskTemplate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/features/side_task_template.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl SideTaskTemplate { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 9 | pub fn new(id: i32, name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OptionCard` is never constructed [INFO] [stdout] --> src/features/option_card.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct OptionCard { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `npc_id`, `npc_say`, and `menu_select` are never read [INFO] [stdout] --> src/npc/npc.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct BaseMenu { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 7 | pub npc_id: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | pub npc_say: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | pub menu_select: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BaseMenu` 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 items `new`, `get_menu_count`, and `get_menu_option` are never used [INFO] [stdout] --> src/npc/npc.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl BaseMenu { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(npc_id: i32, npc_say: String, menu_select: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn get_menu_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn get_menu_option(&self, index: usize) -> Option<&String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/npc/npc.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Npc { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 33 | pub map_id: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 34 | pub status: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 35 | pub location: Location, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 36 | pub temp_id: i32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 37 | pub avatar: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 38 | pub base_menu: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 39 | pub create_time: DateTime, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Npc` 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: multiple associated items are never used [INFO] [stdout] --> src/npc/npc.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl Npc { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 43 | /// Create new NPC [INFO] [stdout] 44 | pub fn new(map_id: i32, status: i32, x: i32, y: i32, temp_id: i32, avatar: i32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn from_template(template: &NpcTemplate, map_id: i32, x: i32, y: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn init_base_menu(&mut self, text: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn get_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn get_position(&self) -> (i16, i16) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn set_position(&mut self, x: i32, y: i32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn has_menu(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn get_base_menu(&self) -> Option<&BaseMenu> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn can_open_npc(&self, _player_id: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn update(&mut self) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn is_in_range(&self, player_x: i32, player_y: i32, range: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `npcs` and `npcs_by_map` are never read [INFO] [stdout] --> src/npc/npc.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 139 | pub struct NpcManager { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 140 | npcs: HashMap, // npc_id -> Npc [INFO] [stdout] | ^^^^ [INFO] [stdout] 141 | npcs_by_map: HashMap>, // map_id -> Vec [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/npc/npc.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 144 | impl NpcManager { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn add_npc(&mut self, npc: Npc) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn get_npc(&self, npc_id: i32) -> Option<&Npc> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn get_npc_by_id_and_map(&self, npc_id: i32, map_id: i32) -> Option<&Npc> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn get_npcs_by_map(&self, map_id: i32) -> Vec<&Npc> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn remove_npc(&mut self, npc_id: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn update_all_npcs(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn get_npc_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn clear_all_npcs(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NpcFactory` is never constructed [INFO] [stdout] --> src/npc/npc_factory.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct NpcFactory; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `create_basic_npc`, `create_shop_npc`, `create_quest_npc`, and `create_npc_with_menu` are never used [INFO] [stdout] --> src/npc/npc_factory.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl NpcFactory { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 6 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | pub fn create_basic_npc(&self, template_id: i32, map_id: i32, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn create_shop_npc(&self, template_id: i32, map_id: i32, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn create_quest_npc(&self, template_id: i32, map_id: i32, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn create_npc_with_menu(&self, template_id: i32, map_id: i32, x: i32, y: i32, menu_text: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/npc/npc_service.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl NpcService { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn get_template(&self, id: i32) -> Option<&NpcTemplate> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn create_npc(&self, template_id: i32, map_id: i32, x: i32, y: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn create_base_menu(&self, npc_id: i32, npc_say: &str, menu_options: Vec) -> BaseMenu { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn create_simple_menu(&self, npc_id: i32, npc_say: &str, menu_options: &[&str]) -> BaseMenu { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn get_npcs_in_range<'a>(&self, npcs: &'a [Npc], player_x: i32, player_y: i32, range: i32) -> Vec<&'a Npc> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn get_all_templates(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn get_template_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/map/map_service.rs:24:16 [INFO] [stdout] | [INFO] [stdout] 24 | if INSTANCE.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/map/map_service.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | INSTANCE.as_mut().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused implementer of `Future` that must be used [INFO] [stdout] --> src/map/map_service.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | map.update(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: futures do nothing unless you `.await` or poll them [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/map/item_map_service.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | if INSTANCE.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/map/item_map_service.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | INSTANCE.as_mut().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/item/inventory_service.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | if INSTANCE.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/item/inventory_service.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | INSTANCE.as_mut().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 40s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "852e6e26384c1369f61cc84f213dcabb294d0aa776c32ba5f8a1a733001301bf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "852e6e26384c1369f61cc84f213dcabb294d0aa776c32ba5f8a1a733001301bf", kill_on_drop: false }` [INFO] [stdout] 852e6e26384c1369f61cc84f213dcabb294d0aa776c32ba5f8a1a733001301bf