[INFO] cloning repository https://github.com/Lol3rrr/gold-pass-bot [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Lol3rrr/gold-pass-bot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLol3rrr%2Fgold-pass-bot", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLol3rrr%2Fgold-pass-bot'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fdb64a9989dec33c66c6000ee3082728e2144912 [INFO] building Lol3rrr/gold-pass-bot against master#9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19 for pr-117684 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLol3rrr%2Fgold-pass-bot" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Lol3rrr/gold-pass-bot on toolchain 9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Lol3rrr/gold-pass-bot [INFO] finished tweaking git repo https://github.com/Lol3rrr/gold-pass-bot [INFO] tweaked toml for git repo https://github.com/Lol3rrr/gold-pass-bot written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Lol3rrr/gold-pass-bot 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" "+9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded const-random v0.1.16 [INFO] [stderr] Downloaded rust-s3 v0.33.0 [INFO] [stderr] Downloaded aws-creds v0.34.1 [INFO] [stderr] Downloaded rust_xlsxwriter v0.44.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6ca2330373dbae2174dd620f06fbc5b19a502843e5f258883725ed52a8254ef8 [INFO] running `Command { std: "docker" "start" "-a" "6ca2330373dbae2174dd620f06fbc5b19a502843e5f258883725ed52a8254ef8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6ca2330373dbae2174dd620f06fbc5b19a502843e5f258883725ed52a8254ef8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6ca2330373dbae2174dd620f06fbc5b19a502843e5f258883725ed52a8254ef8", kill_on_drop: false }` [INFO] [stdout] 6ca2330373dbae2174dd620f06fbc5b19a502843e5f258883725ed52a8254ef8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] acf42b0d986c193cc6c66625e56283af47a9ee63d3c5b0b766482931af9eca76 [INFO] running `Command { std: "docker" "start" "-a" "acf42b0d986c193cc6c66625e56283af47a9ee63d3c5b0b766482931af9eca76", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.69 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling libc v0.2.149 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling serde v1.0.190 [INFO] [stderr] Compiling memchr v2.6.4 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Compiling itoa v1.0.9 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling futures-core v0.3.29 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling futures-channel v0.3.29 [INFO] [stderr] Compiling futures-task v0.3.29 [INFO] [stderr] Compiling futures-sink v0.3.29 [INFO] [stderr] Compiling futures-util v0.3.29 [INFO] [stderr] Compiling percent-encoding v2.3.0 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling futures-io v0.3.29 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling form_urlencoded v1.2.0 [INFO] [stderr] Compiling ahash v0.7.7 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling unicode-bidi v0.3.13 [INFO] [stderr] Compiling thiserror v1.0.50 [INFO] [stderr] Compiling http v0.2.9 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling ryu v1.0.15 [INFO] [stderr] Compiling serde_json v1.0.108 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling untrusted v0.7.1 [INFO] [stderr] Compiling rustls v0.21.8 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling spin v0.5.2 [INFO] [stderr] Compiling rustls v0.20.9 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Compiling tower-service v0.3.2 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling syn v2.0.38 [INFO] [stderr] Compiling subtle v2.5.0 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling socket2 v0.5.5 [INFO] [stderr] Compiling mio v0.8.9 [INFO] [stderr] Compiling unicode-normalization v0.1.22 [INFO] [stderr] Compiling rustversion v1.0.14 [INFO] [stderr] Compiling try-lock v0.2.4 [INFO] [stderr] Compiling socket2 v0.4.10 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Compiling http-body v0.4.5 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling async-trait v0.1.74 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling cpufeatures v0.2.11 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Compiling smallvec v1.11.1 [INFO] [stderr] Compiling idna v0.4.0 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling time-macros v0.2.15 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Compiling mime_guess v2.0.4 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling webpki-roots v0.25.2 [INFO] [stderr] Compiling miniz_oxide v0.7.1 [INFO] [stderr] Compiling base64 v0.21.5 [INFO] [stderr] Compiling const-random v0.1.16 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling utf8parse v0.2.1 [INFO] [stderr] Compiling dlv-list v0.3.0 [INFO] [stderr] Compiling base64 v0.13.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling anstyle-parse v0.2.2 [INFO] [stderr] Compiling axum-core v0.3.4 [INFO] [stderr] Compiling ring v0.17.5 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling flate2 v1.0.28 [INFO] [stderr] Compiling ordered-multimap v0.4.3 [INFO] [stderr] Compiling sha-1 v0.10.1 [INFO] [stderr] Compiling rustls-pemfile v1.0.3 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling dlv-list v0.5.2 [INFO] [stderr] Compiling dirs-sys v0.3.7 [INFO] [stderr] Compiling aho-corasick v1.1.2 [INFO] [stderr] Compiling encoding_rs v0.8.33 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling tower-layer v0.3.2 [INFO] [stderr] Compiling regex-syntax v0.8.2 [INFO] [stderr] Compiling anstyle-query v1.0.0 [INFO] [stderr] Compiling colorchoice v1.0.0 [INFO] [stderr] Compiling hashbrown v0.13.2 [INFO] [stderr] Compiling anstyle v1.0.4 [INFO] [stderr] Compiling protobuf v2.28.0 [INFO] [stderr] Compiling ipnet v2.9.0 [INFO] [stderr] Compiling ordered-float v2.10.1 [INFO] [stderr] Compiling rust-ini v0.18.0 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling anstream v0.6.4 [INFO] [stderr] Compiling axum v0.6.20 [INFO] [stderr] Compiling iana-time-zone v0.1.58 [INFO] [stderr] Compiling serenity v0.11.7 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling ordered-multimap v0.6.0 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling clap_lex v0.6.0 [INFO] [stderr] Compiling hashbrown v0.14.2 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling prometheus v0.13.3 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling zip v0.6.6 [INFO] [stderr] Compiling rust-ini v0.19.0 [INFO] [stderr] Compiling clap_builder v4.4.7 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling tracing-log v0.1.4 [INFO] [stderr] Compiling thread_local v1.1.7 [INFO] [stderr] Compiling md5 v0.7.0 [INFO] [stderr] Compiling home v0.5.5 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling levenshtein v1.0.5 [INFO] [stderr] Compiling matchit v0.7.3 [INFO] [stderr] Compiling sync_wrapper v0.1.2 [INFO] [stderr] Compiling typemap_rev v0.1.5 [INFO] [stderr] Compiling uwl v0.6.0 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling arc-swap v1.6.0 [INFO] [stderr] Compiling regex-automata v0.4.3 [INFO] [stderr] Compiling tracing-subscriber v0.3.17 [INFO] [stderr] Compiling serde_derive v1.0.190 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling futures-macro v0.3.29 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling thiserror-impl v1.0.50 [INFO] [stderr] Compiling pin-project-internal v1.1.3 [INFO] [stderr] Compiling clap_derive v4.4.7 [INFO] [stderr] Compiling command_attr v0.4.2 [INFO] [stderr] Compiling tokio v1.33.0 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Compiling webpki v0.22.4 [INFO] [stderr] error: could not compile `protobuf` (lib) [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/9bd71afb90c2a6e0348cdd4a2b10a3bf39908f19/bin/rustc --crate-name protobuf --edition=2018 /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/protobuf-2.28.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=e311d172f707236d -C extra-filename=-e311d172f707236d --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --cap-lints allow --cap-lints=forbid --cfg rustc_nightly` (signal: 9, SIGKILL: kill) [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "acf42b0d986c193cc6c66625e56283af47a9ee63d3c5b0b766482931af9eca76", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "acf42b0d986c193cc6c66625e56283af47a9ee63d3c5b0b766482931af9eca76", kill_on_drop: false }` [INFO] [stdout] acf42b0d986c193cc6c66625e56283af47a9ee63d3c5b0b766482931af9eca76 [INFO] building Lol3rrr/gold-pass-bot against try#53e03135c36e913ff664ce8329041b7e3c2fd358 for pr-117684 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLol3rrr%2Fgold-pass-bot" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Lol3rrr/gold-pass-bot on toolchain 53e03135c36e913ff664ce8329041b7e3c2fd358 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+53e03135c36e913ff664ce8329041b7e3c2fd358" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Lol3rrr/gold-pass-bot [INFO] finished tweaking git repo https://github.com/Lol3rrr/gold-pass-bot [INFO] tweaked toml for git repo https://github.com/Lol3rrr/gold-pass-bot written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Lol3rrr/gold-pass-bot 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" "+53e03135c36e913ff664ce8329041b7e3c2fd358" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+53e03135c36e913ff664ce8329041b7e3c2fd358" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 86a1d83bc7a9b9b59d211aa095b8a1bf7f99cfebb542754f824025c83c8d2792 [INFO] running `Command { std: "docker" "start" "-a" "86a1d83bc7a9b9b59d211aa095b8a1bf7f99cfebb542754f824025c83c8d2792", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "86a1d83bc7a9b9b59d211aa095b8a1bf7f99cfebb542754f824025c83c8d2792", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "86a1d83bc7a9b9b59d211aa095b8a1bf7f99cfebb542754f824025c83c8d2792", kill_on_drop: false }` [INFO] [stdout] 86a1d83bc7a9b9b59d211aa095b8a1bf7f99cfebb542754f824025c83c8d2792 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+53e03135c36e913ff664ce8329041b7e3c2fd358" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 966e899567c907e8901c75428f30c7fda366594316e9b4773d74b8793bbfda54 [INFO] running `Command { std: "docker" "start" "-a" "966e899567c907e8901c75428f30c7fda366594316e9b4773d74b8793bbfda54", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.69 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling libc v0.2.149 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling serde v1.0.190 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling memchr v2.6.4 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling itoa v1.0.9 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling futures-core v0.3.29 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling futures-channel v0.3.29 [INFO] [stderr] Compiling futures-sink v0.3.29 [INFO] [stderr] Compiling futures-task v0.3.29 [INFO] [stderr] Compiling futures-util v0.3.29 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling futures-io v0.3.29 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling percent-encoding v2.3.0 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling tinyvec v1.6.0 [INFO] [stderr] Compiling unicode-bidi v0.3.13 [INFO] [stderr] Compiling ahash v0.7.7 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling httparse v1.8.0 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling http v0.2.9 [INFO] [stderr] Compiling form_urlencoded v1.2.0 [INFO] [stderr] Compiling ryu v1.0.15 [INFO] [stderr] Compiling thiserror v1.0.50 [INFO] [stderr] Compiling serde_json v1.0.108 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling rustls v0.21.8 [INFO] [stderr] Compiling rustls v0.20.9 [INFO] [stderr] Compiling spin v0.5.2 [INFO] [stderr] Compiling untrusted v0.7.1 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling tower-service v0.3.2 [INFO] [stderr] Compiling rustversion v1.0.14 [INFO] [stderr] Compiling subtle v2.5.0 [INFO] [stderr] Compiling syn v2.0.38 [INFO] [stderr] Compiling try-lock v0.2.4 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling socket2 v0.5.5 [INFO] [stderr] Compiling mio v0.8.9 [INFO] [stderr] Compiling unicode-normalization v0.1.22 [INFO] [stderr] Compiling socket2 v0.4.10 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Compiling cpufeatures v0.2.11 [INFO] [stderr] Compiling http-body v0.4.5 [INFO] [stderr] Compiling smallvec v1.11.1 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling async-trait v0.1.74 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling idna v0.4.0 [INFO] [stderr] Compiling time-macros v0.2.15 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Compiling mime_guess v2.0.4 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling adler v1.0.2 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling webpki-roots v0.25.2 [INFO] [stderr] Compiling miniz_oxide v0.7.1 [INFO] [stderr] Compiling base64 v0.21.5 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling const-random v0.1.16 [INFO] [stderr] Compiling base64 v0.13.1 [INFO] [stderr] Compiling dlv-list v0.3.0 [INFO] [stderr] Compiling utf8parse v0.2.1 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling ordered-multimap v0.4.3 [INFO] [stderr] Compiling flate2 v1.0.28 [INFO] [stderr] Compiling ring v0.17.5 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling rustls-pemfile v1.0.3 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling anstyle-parse v0.2.2 [INFO] [stderr] Compiling dlv-list v0.5.2 [INFO] [stderr] Compiling sha-1 v0.10.1 [INFO] [stderr] Compiling axum-core v0.3.4 [INFO] [stderr] Compiling dirs-sys v0.3.7 [INFO] [stderr] Compiling aho-corasick v1.1.2 [INFO] [stderr] Compiling encoding_rs v0.8.33 [INFO] [stderr] Compiling hashbrown v0.13.2 [INFO] [stderr] Compiling anstyle v1.0.4 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling protobuf v2.28.0 [INFO] [stderr] Compiling ipnet v2.9.0 [INFO] [stderr] Compiling regex-syntax v0.8.2 [INFO] [stderr] Compiling anstyle-query v1.0.0 [INFO] [stderr] Compiling tower-layer v0.3.2 [INFO] [stderr] Compiling colorchoice v1.0.0 [INFO] [stderr] Compiling ordered-float v2.10.1 [INFO] [stderr] Compiling anstream v0.6.4 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Compiling rust-ini v0.18.0 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling axum v0.6.20 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling hashbrown v0.14.2 [INFO] [stderr] Compiling prometheus v0.13.3 [INFO] [stderr] Compiling ordered-multimap v0.6.0 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling serenity v0.11.7 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling clap_lex v0.6.0 [INFO] [stderr] Compiling iana-time-zone v0.1.58 [INFO] [stderr] Compiling rust-ini v0.19.0 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling clap_builder v4.4.7 [INFO] [stderr] Compiling zip v0.6.6 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling sha2 v0.10.8 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling tracing-log v0.1.4 [INFO] [stderr] Compiling thread_local v1.1.7 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling md5 v0.7.0 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling typemap_rev v0.1.5 [INFO] [stderr] Compiling matchit v0.7.3 [INFO] [stderr] Compiling levenshtein v1.0.5 [INFO] [stderr] Compiling uwl v0.6.0 [INFO] [stderr] Compiling sync_wrapper v0.1.2 [INFO] [stderr] Compiling home v0.5.5 [INFO] [stderr] Compiling arc-swap v1.6.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.17 [INFO] [stderr] Compiling regex-automata v0.4.3 [INFO] [stderr] Compiling serde_derive v1.0.190 [INFO] [stderr] Compiling tokio-macros v2.1.0 [INFO] [stderr] Compiling futures-macro v0.3.29 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling thiserror-impl v1.0.50 [INFO] [stderr] Compiling pin-project-internal v1.1.3 [INFO] [stderr] Compiling clap_derive v4.4.7 [INFO] [stderr] Compiling tokio v1.33.0 [INFO] [stderr] Compiling aws-region v0.25.4 [INFO] [stderr] Compiling pin-project v1.1.3 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Compiling webpki v0.22.4 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling regex v1.10.2 [INFO] [stderr] Compiling command_attr v0.4.2 [INFO] [stderr] Compiling maybe-async v0.2.7 [INFO] [stderr] Compiling webpki-roots v0.22.6 [INFO] [stderr] Compiling clap v4.4.7 [INFO] [stderr] Compiling rust_xlsxwriter v0.44.0 [INFO] [stderr] Compiling futures-executor v0.3.29 [INFO] [stderr] Compiling futures v0.3.29 [INFO] [stderr] Compiling tokio-util v0.7.10 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling tokio-rustls v0.23.4 [INFO] [stderr] Compiling tower v0.4.13 [INFO] [stderr] Compiling tokio-stream v0.1.14 [INFO] [stderr] Compiling h2 v0.3.21 [INFO] [stderr] Compiling url v2.4.1 [INFO] [stderr] Compiling deranged v0.3.9 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling quick-xml v0.26.0 [INFO] [stderr] Compiling serde-value v0.7.0 [INFO] [stderr] Compiling chrono v0.4.31 [INFO] [stderr] Compiling serde_path_to_error v0.1.14 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling quick-xml v0.30.0 [INFO] [stderr] Compiling tungstenite v0.17.3 [INFO] [stderr] Compiling attohttpc v0.22.0 [INFO] [stderr] Compiling attohttpc v0.26.1 [INFO] [stderr] Compiling time v0.3.30 [INFO] [stderr] Compiling async-tungstenite v0.17.2 [INFO] [stderr] Compiling aws-creds v0.34.1 [INFO] [stderr] Compiling aws-creds v0.36.0 [INFO] [stderr] Compiling hyper v0.14.27 [INFO] [stderr] Compiling hyper-rustls v0.24.2 [INFO] [stderr] Compiling reqwest v0.11.22 [INFO] [stderr] Compiling rust-s3 v0.33.0 [INFO] [stderr] Compiling gold-pass-bot v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `PlayerGamesStats` [INFO] [stdout] --> src/collector/warclient.rs:4:53 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{ClanBadges, ClanTag, Client, LoadError, PlayerGamesStats, PlayerTag, Time, WarLog}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `groupNotFound` should have an upper camel case name [INFO] [stdout] --> src/collector/cwl.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | groupNotFound, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GroupNotFound` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `notInWar` should have an upper camel case name [INFO] [stdout] --> src/collector/cwl.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | notInWar, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `NotInWar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/storage.rs:205:51 [INFO] [stdout] | [INFO] [stdout] 205 | let content = store.load().await.map_err(|e| ())?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/storage.rs:206:51 [INFO] [stdout] | [INFO] [stdout] 206 | serde_json::from_slice(&content).map_err(|e| ()) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/ctracing.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | ctx: tracing_subscriber::layer::Context<'_, S>, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/storage/files.rs:60:69 [INFO] [stdout] | [INFO] [stdout] 60 | Box::pin(async move { tokio::fs::read(&path).await.map_err(|e| ()) }) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/storage/s3.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | Err(e) => Err(()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w_index` [INFO] [stdout] --> src/excelstats.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | for (w_index, (_, w_stats)) in stats.wars.iter().enumerate() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_w_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_index` [INFO] [stdout] --> src/excelstats.rs:89:18 [INFO] [stdout] | [INFO] [stdout] 89 | for (r_index, (d, raid)) in stats.raid_weekend.iter().enumerate() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/excelstats.rs:89:28 [INFO] [stdout] | [INFO] [stdout] 89 | for (r_index, (d, raid)) in stats.raid_weekend.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct PlayerInfo { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 43 | clan: serde_json::Value, [INFO] [stdout] | ^^^^ [INFO] [stdout] 44 | league: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 45 | builderBaseLeague: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | role: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 47 | warPreference: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 48 | attackWins: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 49 | defenseWins: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 50 | versusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 51 | bestVersusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 52 | townHallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 53 | townHallWeaponLevel: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 54 | versusBattleWins: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 55 | legendStatistics: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 56 | troops: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 57 | heroes: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 58 | spells: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 59 | labels: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | expLevel: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 63 | trophies: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 64 | bestTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 65 | donations: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 66 | donationsReceived: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | builderHallLevel: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | builderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 69 | bestBuilderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | warStars: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 71 | pub achievements: Vec, [INFO] [stdout] 72 | clanCapitalContributions: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 73 | playerHouse: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stars`, `target`, `info`, `completionInfo`, and `village` are never read [INFO] [stdout] --> src/collector.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct PlayerAchievement { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 78 | stars: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | target: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 82 | info: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 83 | completionInfo: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 84 | village: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerAchievement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `attacks_per_member`, `clan`, `end_time`, `opponent`, `result`, and `team_size` are never read [INFO] [stdout] --> src/collector.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 93 | pub struct WarLogEntry { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 94 | #[serde(rename = "attacksPerMember")] [INFO] [stdout] 95 | attacks_per_member: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 96 | clan: serde_json::Value, [INFO] [stdout] | ^^^^ [INFO] [stdout] 97 | #[serde(rename = "endTime")] [INFO] [stdout] 98 | end_time: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 99 | opponent: serde_json::Value, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 100 | result: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 101 | #[serde(rename = "teamSize")] [INFO] [stdout] 102 | team_size: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WarLogEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct ClanInfo { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 107 | warLeague: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 108 | capitalLeague: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 109 | pub memberList: Vec, [INFO] [stdout] 110 | tag: ClanTag, [INFO] [stdout] | ^^^ [INFO] [stdout] 111 | requiredVersusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 112 | isWarLogPublic: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 113 | clanLevel: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 114 | warWinStreak: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 115 | warWins: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 116 | warTies: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 117 | warLosses: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 118 | clanPoints: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 119 | requiredTownhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 120 | chatLanguage: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 121 | isFamilyFriendly: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 122 | warFrequency: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 123 | clanBuilderBasePoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 124 | clanVersusPoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 125 | clanCapitalPoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 126 | requiredTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 127 | requiredBuilderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 128 | labels: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 129 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 130 | location: serde_json::Value, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 131 | #[serde(rename = "type")] [INFO] [stdout] 132 | ty: serde_json::Value, [INFO] [stdout] | ^^ [INFO] [stdout] 133 | members: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 134 | description: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 135 | clanCapital: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 136 | badgeUrls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub struct ClanMember { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 141 | league: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 142 | builderBaseLeague: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 143 | versusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | role: serde_json::Value, [INFO] [stdout] | ^^^^ [INFO] [stdout] 147 | expLevel: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 148 | clanRank: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 149 | previousClanRank: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 150 | donations: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 151 | donationsReceived: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 152 | trophies: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 153 | builderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 154 | playerHouse: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanMember` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 158 | pub struct CapitalRaidWeekend { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 159 | state: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 160 | pub startTime: Time, [INFO] [stdout] 161 | endTime: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 162 | capitalTotalLoot: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 163 | raidsCompleted: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 164 | totalAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 165 | enemyDistrictsDestroyed: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 166 | offensiveReward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 167 | defensiveReward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | defenseLog: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CapitalRaidWeekend` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `attackLimit`, `attacks`, `bonusAttackLimit`, and `name` are never read [INFO] [stdout] --> src/collector.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 174 | pub struct CapitalRaidWeekendMember { [INFO] [stdout] | ------------------------ fields in this struct [INFO] [stdout] 175 | attackLimit: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 176 | attacks: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 177 | bonusAttackLimit: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 178 | pub capitalResourcesLooted: usize, [INFO] [stdout] 179 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CapitalRaidWeekendMember` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `opponent`, `team_size`, `attacks_per_member`, `end_time`, and `preparation_start_time` are never read [INFO] [stdout] --> src/collector/warclient.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct CurrentWar { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 73 | opponent: WarClan, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 74 | #[serde(rename = "teamSize")] [INFO] [stdout] 75 | team_size: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 76 | #[serde(rename = "attacksPerMember")] [INFO] [stdout] 77 | attacks_per_member: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | end_time: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 82 | #[serde(rename = "preparationStartTime")] [INFO] [stdout] 83 | preparation_start_time: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CurrentWar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector/warclient.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct WarClan { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 112 | tag: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 113 | name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 114 | attacks: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 115 | #[serde(rename = "badgeUrls")] [INFO] [stdout] 116 | badge_urls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 117 | #[serde(rename = "clanLevel")] [INFO] [stdout] 118 | clan_level: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 119 | #[serde(rename = "destructionPercentage")] [INFO] [stdout] 120 | destruction_percentage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 121 | stars: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 122 | #[serde(rename = "expEarned")] [INFO] [stdout] 123 | exp_earned: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WarClan` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mapPosition`, `name`, `opponentAttacks`, `townhallLevel`, and `bestOpponentAttack` are never read [INFO] [stdout] --> src/collector/warclient.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub struct WarClanMember { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 129 | mapPosition: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 130 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 131 | opponentAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 132 | pub tag: PlayerTag, [INFO] [stdout] 133 | townhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | bestOpponentAttack: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WarClanMember` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `tag`, `state`, and `clans` are never read [INFO] [stdout] --> src/collector/cwl.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct ClanWarLeagueGroup { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 29 | tag: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 30 | state: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 31 | pub season: ClanWarLeagueSeason, [INFO] [stdout] 32 | clans: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueGroup` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `tag`, `clan_level`, `name`, `members`, and `badge_urls` are never read [INFO] [stdout] --> src/collector/cwl.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct ClanWarLeagueClan { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 44 | tag: ClanTag, [INFO] [stdout] | ^^^ [INFO] [stdout] 45 | #[serde(rename = "clanLevel")] [INFO] [stdout] 46 | clan_level: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 47 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 48 | members: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 49 | #[serde(rename = "badgeUrls")] [INFO] [stdout] 50 | badge_urls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueClan` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `tag`, `town_hall_level`, and `name` are never read [INFO] [stdout] --> src/collector/cwl.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct ClanWarLeagueClanMember { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 55 | tag: PlayerTag, [INFO] [stdout] | ^^^ [INFO] [stdout] 56 | #[serde(rename = "townHallLevel")] [INFO] [stdout] 57 | town_hall_level: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 58 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueClanMember` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `teamSize`, `preparationStartTime`, `startTime`, `endTime`, and `warStartTime` are never read [INFO] [stdout] --> src/collector/cwl.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct ClanWarLeagueWar { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 63 | pub state: ClanWarLeagueWarState, [INFO] [stdout] 64 | teamSize: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 65 | preparationStartTime: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | startTime: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 67 | endTime: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | warStartTime: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueWar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `badgeUrls`, `attacks`, `clanLevel`, `destructionPercentage`, `name`, and `stars` are never read [INFO] [stdout] --> src/collector/cwl.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct ClanWarLeagueWarClan { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 87 | badgeUrls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 88 | attacks: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 89 | clanLevel: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 90 | destructionPercentage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 91 | pub members: Vec, [INFO] [stdout] 92 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 93 | stars: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueWarClan` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderBaseLeague` should have a snake case name [INFO] [stdout] --> src/collector.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | builderBaseLeague: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_base_league` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warPreference` should have a snake case name [INFO] [stdout] --> src/collector.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | warPreference: String, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `war_preference` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackWins` should have a snake case name [INFO] [stdout] --> src/collector.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | attackWins: usize, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `attack_wins` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defenseWins` should have a snake case name [INFO] [stdout] --> src/collector.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | defenseWins: usize, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `defense_wins` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `versusTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | versusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `versus_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestVersusTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | bestVersusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_versus_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `townHallLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | townHallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `town_hall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `townHallWeaponLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | townHallWeaponLevel: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `town_hall_weapon_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `versusBattleWins` should have a snake case name [INFO] [stdout] --> src/collector.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | versusBattleWins: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `versus_battle_wins` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `legendStatistics` should have a snake case name [INFO] [stdout] --> src/collector.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | legendStatistics: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `legend_statistics` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | expLevel: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `exp_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | bestTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `best_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `donationsReceived` should have a snake case name [INFO] [stdout] --> src/collector.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | donationsReceived: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `donations_received` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderHallLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | builderHallLevel: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_hall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderBaseTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | builderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_base_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestBuilderBaseTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | bestBuilderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_builder_base_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warStars` should have a snake case name [INFO] [stdout] --> src/collector.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | warStars: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `war_stars` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanCapitalContributions` should have a snake case name [INFO] [stdout] --> src/collector.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | clanCapitalContributions: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clan_capital_contributions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `playerHouse` should have a snake case name [INFO] [stdout] --> src/collector.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | playerHouse: Option, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `player_house` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `completionInfo` should have a snake case name [INFO] [stdout] --> src/collector.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | completionInfo: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `completion_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warLeague` should have a snake case name [INFO] [stdout] --> src/collector.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | warLeague: Option, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `war_league` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `capitalLeague` should have a snake case name [INFO] [stdout] --> src/collector.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | capitalLeague: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `capital_league` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `memberList` should have a snake case name [INFO] [stdout] --> src/collector.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | pub memberList: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `member_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `requiredVersusTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | requiredVersusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `required_versus_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isWarLogPublic` should have a snake case name [INFO] [stdout] --> src/collector.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | isWarLogPublic: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_war_log_public` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | clanLevel: usize, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `clan_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warWinStreak` should have a snake case name [INFO] [stdout] --> src/collector.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | warWinStreak: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `war_win_streak` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warWins` should have a snake case name [INFO] [stdout] --> src/collector.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | warWins: usize, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `war_wins` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warTies` should have a snake case name [INFO] [stdout] --> src/collector.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | warTies: usize, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `war_ties` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warLosses` should have a snake case name [INFO] [stdout] --> src/collector.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | warLosses: usize, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `war_losses` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanPoints` should have a snake case name [INFO] [stdout] --> src/collector.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | clanPoints: usize, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `clan_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `requiredTownhallLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | requiredTownhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `required_townhall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `chatLanguage` should have a snake case name [INFO] [stdout] --> src/collector.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | chatLanguage: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `chat_language` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isFamilyFriendly` should have a snake case name [INFO] [stdout] --> src/collector.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | isFamilyFriendly: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_family_friendly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warFrequency` should have a snake case name [INFO] [stdout] --> src/collector.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | warFrequency: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `war_frequency` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanBuilderBasePoints` should have a snake case name [INFO] [stdout] --> src/collector.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | clanBuilderBasePoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clan_builder_base_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanVersusPoints` should have a snake case name [INFO] [stdout] --> src/collector.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | clanVersusPoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clan_versus_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanCapitalPoints` should have a snake case name [INFO] [stdout] --> src/collector.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | clanCapitalPoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clan_capital_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `requiredTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | requiredTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `required_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `requiredBuilderBaseTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | requiredBuilderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `required_builder_base_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanCapital` should have a snake case name [INFO] [stdout] --> src/collector.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | clanCapital: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `clan_capital` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `badgeUrls` should have a snake case name [INFO] [stdout] --> src/collector.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | badgeUrls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `badge_urls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderBaseLeague` should have a snake case name [INFO] [stdout] --> src/collector.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | builderBaseLeague: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_base_league` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `versusTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | versusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `versus_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | expLevel: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `exp_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanRank` should have a snake case name [INFO] [stdout] --> src/collector.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | clanRank: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `clan_rank` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `previousClanRank` should have a snake case name [INFO] [stdout] --> src/collector.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | previousClanRank: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `previous_clan_rank` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `donationsReceived` should have a snake case name [INFO] [stdout] --> src/collector.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | donationsReceived: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `donations_received` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderBaseTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | builderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_base_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `playerHouse` should have a snake case name [INFO] [stdout] --> src/collector.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | playerHouse: Option, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `player_house` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `startTime` should have a snake case name [INFO] [stdout] --> src/collector.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | pub startTime: Time, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `endTime` should have a snake case name [INFO] [stdout] --> src/collector.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | endTime: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `end_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `capitalTotalLoot` should have a snake case name [INFO] [stdout] --> src/collector.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | capitalTotalLoot: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `capital_total_loot` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `raidsCompleted` should have a snake case name [INFO] [stdout] --> src/collector.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | raidsCompleted: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `raids_completed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `totalAttacks` should have a snake case name [INFO] [stdout] --> src/collector.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | totalAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `total_attacks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `enemyDistrictsDestroyed` should have a snake case name [INFO] [stdout] --> src/collector.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | enemyDistrictsDestroyed: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `enemy_districts_destroyed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `offensiveReward` should have a snake case name [INFO] [stdout] --> src/collector.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 166 | offensiveReward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `offensive_reward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defensiveReward` should have a snake case name [INFO] [stdout] --> src/collector.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | defensiveReward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `defensive_reward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackLog` should have a snake case name [INFO] [stdout] --> src/collector.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | pub attackLog: Vec, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `attack_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defenseLog` should have a snake case name [INFO] [stdout] --> src/collector.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | defenseLog: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `defense_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackLimit` should have a snake case name [INFO] [stdout] --> src/collector.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | attackLimit: usize, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `attack_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bonusAttackLimit` should have a snake case name [INFO] [stdout] --> src/collector.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | bonusAttackLimit: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bonus_attack_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `capitalResourcesLooted` should have a snake case name [INFO] [stdout] --> src/collector.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | pub capitalResourcesLooted: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `capital_resources_looted` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `mapPosition` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | mapPosition: usize, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `map_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `opponentAttacks` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | opponentAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `opponent_attacks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `townhallLevel` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | townhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `townhall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestOpponentAttack` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | bestOpponentAttack: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_opponent_attack` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackerTag` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | pub attackerTag: PlayerTag, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `attacker_tag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defenderTag` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | pub defenderTag: PlayerTag, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `defender_tag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `destructionPercentage` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | pub destructionPercentage: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `destruction_percentage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `teamSize` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | teamSize: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `team_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `preparationStartTime` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | preparationStartTime: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `preparation_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `startTime` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | startTime: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `endTime` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | endTime: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `end_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warStartTime` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | warStartTime: String, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `war_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `badgeUrls` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | badgeUrls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `badge_urls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanLevel` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | clanLevel: usize, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `clan_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `destructionPercentage` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | destructionPercentage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `destruction_percentage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `mapPosition` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | pub mapPosition: usize, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `map_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `townhallLevel` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | pub townhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `townhall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `opponentAttacks` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | pub opponentAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `opponent_attacks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestOpponentAttack` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | pub bestOpponentAttack: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_opponent_attack` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackerTag` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | pub attackerTag: PlayerTag, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `attacker_tag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defenderTag` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | pub defenderTag: PlayerTag, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `defender_tag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `destructionPercentage` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | pub destructionPercentage: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `destruction_percentage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | worksheet.write_string(0, column_index.next().unwrap(), "Name"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "Name"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | worksheet.write_string(0, column_index.next().unwrap(), format!("CWL {}", idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 20 | let _ = worksheet.write_string(0, column_index.next().unwrap(), format!("CWL {}", idx)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | worksheet.write_string(0, column_index.next().unwrap(), "CWL Score"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 22 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "CWL Score"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | worksheet.write_string(0, column_index.next().unwrap(), format!("War {}", idx + 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 24 | let _ = worksheet.write_string(0, column_index.next().unwrap(), format!("War {}", idx + 1)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | worksheet.write_string(0, column_index.next().unwrap(), "War Score"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 26 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "War Score"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | worksheet.write_string(0, column_index.next().unwrap(), format!("Raid {}", idx + 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 28 | let _ = worksheet.write_string(0, column_index.next().unwrap(), format!("Raid {}", idx + 1)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | worksheet.write_string(0, column_index.next().unwrap(), "Raid Score"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 30 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "Raid Score"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | worksheet.write_string(0, column_index.next().unwrap(), "Total Score"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 32 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "Total Score"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | worksheet.write_number(row, column_index.next().unwrap(), stars as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 61 | let _ = worksheet.write_number(row, column_index.next().unwrap(), stars as f64); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | / worksheet.write_number( [INFO] [stdout] 64 | | row, [INFO] [stdout] 65 | | column_index.next().unwrap(), [INFO] [stdout] 66 | | (summary.cwl_stars as f64 / 21.0) * 100.0, [INFO] [stdout] 67 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 63 | let _ = worksheet.write_number( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | worksheet.write_number(row, column_index.next().unwrap(), stars as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 79 | let _ = worksheet.write_number(row, column_index.next().unwrap(), stars as f64); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | / worksheet.write_number( [INFO] [stdout] 82 | | row, [INFO] [stdout] 83 | | column_index.next().unwrap(), [INFO] [stdout] 84 | | (summary.war_stars as f64 / 66.0) * 100.0, [INFO] [stdout] 85 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 81 | let _ = worksheet.write_number( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | worksheet.write_number(row, column_index.next().unwrap(), loot as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 92 | let _ = worksheet.write_number(row, column_index.next().unwrap(), loot as f64); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | / worksheet.write_number( [INFO] [stdout] 95 | | row, [INFO] [stdout] 96 | | column_index.next().unwrap(), [INFO] [stdout] 97 | | (summary.raid_loot as f64 / 120000.0) * 100.0, [INFO] [stdout] 98 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 94 | let _ = worksheet.write_number( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | worksheet.write_number(row, column_index.next().unwrap(), score); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 104 | let _ = worksheet.write_number(row, column_index.next().unwrap(), score); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 126 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:139:28 [INFO] [stdout] | [INFO] [stdout] 139 | if let Err(e) = gold_pass_bot::update_names(&client, &tag, clan_season_stats).await [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:144:28 [INFO] [stdout] | [INFO] [stdout] 144 | if let Err(e) = gold_pass_bot::update_war(&client, &tag, &mut storage).await { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:148:28 [INFO] [stdout] | [INFO] [stdout] 148 | if let Err(e) = gold_pass_bot::update_cwl(&client, &tag, &mut storage).await { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:152:28 [INFO] [stdout] | [INFO] [stdout] 152 | if let Err(e) = gold_pass_bot::update_clan_games(&client, &tag, &mut storage).await [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 51.18s [INFO] running `Command { std: "docker" "inspect" "966e899567c907e8901c75428f30c7fda366594316e9b4773d74b8793bbfda54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "966e899567c907e8901c75428f30c7fda366594316e9b4773d74b8793bbfda54", kill_on_drop: false }` [INFO] [stdout] 966e899567c907e8901c75428f30c7fda366594316e9b4773d74b8793bbfda54 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:0c7e0e8312ad82a1bed3696438480b7da990d348377d3754e1cd95b06a8a36c7" "/opt/rustwide/cargo-home/bin/cargo" "+53e03135c36e913ff664ce8329041b7e3c2fd358" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 54916180125fe2b1086570d0ddfccfc65d93815576ddc7a93176c6b45dee1095 [INFO] running `Command { std: "docker" "start" "-a" "54916180125fe2b1086570d0ddfccfc65d93815576ddc7a93176c6b45dee1095", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `PlayerGamesStats` [INFO] [stdout] --> src/collector/warclient.rs:4:53 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{ClanBadges, ClanTag, Client, LoadError, PlayerGamesStats, PlayerTag, Time, WarLog}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `groupNotFound` should have an upper camel case name [INFO] [stdout] --> src/collector/cwl.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | groupNotFound, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GroupNotFound` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `notInWar` should have an upper camel case name [INFO] [stdout] --> src/collector/cwl.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | notInWar, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `NotInWar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/storage.rs:205:51 [INFO] [stdout] | [INFO] [stdout] 205 | let content = store.load().await.map_err(|e| ())?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/storage.rs:206:51 [INFO] [stdout] | [INFO] [stdout] 206 | serde_json::from_slice(&content).map_err(|e| ()) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/ctracing.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | ctx: tracing_subscriber::layer::Context<'_, S>, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/storage/files.rs:60:69 [INFO] [stdout] | [INFO] [stdout] 60 | Box::pin(async move { tokio::fs::read(&path).await.map_err(|e| ()) }) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/storage/s3.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | Err(e) => Err(()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w_index` [INFO] [stdout] --> src/excelstats.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | for (w_index, (_, w_stats)) in stats.wars.iter().enumerate() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_w_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_index` [INFO] [stdout] --> src/excelstats.rs:89:18 [INFO] [stdout] | [INFO] [stdout] 89 | for (r_index, (d, raid)) in stats.raid_weekend.iter().enumerate() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/excelstats.rs:89:28 [INFO] [stdout] | [INFO] [stdout] 89 | for (r_index, (d, raid)) in stats.raid_weekend.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct PlayerInfo { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 43 | clan: serde_json::Value, [INFO] [stdout] | ^^^^ [INFO] [stdout] 44 | league: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 45 | builderBaseLeague: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | role: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 47 | warPreference: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 48 | attackWins: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 49 | defenseWins: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 50 | versusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 51 | bestVersusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 52 | townHallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 53 | townHallWeaponLevel: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 54 | versusBattleWins: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 55 | legendStatistics: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 56 | troops: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 57 | heroes: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 58 | spells: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 59 | labels: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | expLevel: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 63 | trophies: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 64 | bestTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 65 | donations: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 66 | donationsReceived: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | builderHallLevel: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | builderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 69 | bestBuilderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | warStars: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 71 | pub achievements: Vec, [INFO] [stdout] 72 | clanCapitalContributions: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 73 | playerHouse: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stars`, `target`, `info`, `completionInfo`, and `village` are never read [INFO] [stdout] --> src/collector.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct PlayerAchievement { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 78 | stars: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | target: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 82 | info: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 83 | completionInfo: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 84 | village: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerAchievement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `attacks_per_member`, `clan`, `end_time`, `opponent`, `result`, and `team_size` are never read [INFO] [stdout] --> src/collector.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 93 | pub struct WarLogEntry { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 94 | #[serde(rename = "attacksPerMember")] [INFO] [stdout] 95 | attacks_per_member: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 96 | clan: serde_json::Value, [INFO] [stdout] | ^^^^ [INFO] [stdout] 97 | #[serde(rename = "endTime")] [INFO] [stdout] 98 | end_time: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 99 | opponent: serde_json::Value, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 100 | result: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 101 | #[serde(rename = "teamSize")] [INFO] [stdout] 102 | team_size: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WarLogEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct ClanInfo { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 107 | warLeague: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 108 | capitalLeague: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 109 | pub memberList: Vec, [INFO] [stdout] 110 | tag: ClanTag, [INFO] [stdout] | ^^^ [INFO] [stdout] 111 | requiredVersusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 112 | isWarLogPublic: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 113 | clanLevel: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 114 | warWinStreak: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 115 | warWins: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 116 | warTies: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 117 | warLosses: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 118 | clanPoints: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 119 | requiredTownhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 120 | chatLanguage: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 121 | isFamilyFriendly: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 122 | warFrequency: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 123 | clanBuilderBasePoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 124 | clanVersusPoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 125 | clanCapitalPoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 126 | requiredTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 127 | requiredBuilderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 128 | labels: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 129 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 130 | location: serde_json::Value, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 131 | #[serde(rename = "type")] [INFO] [stdout] 132 | ty: serde_json::Value, [INFO] [stdout] | ^^ [INFO] [stdout] 133 | members: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 134 | description: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 135 | clanCapital: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 136 | badgeUrls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub struct ClanMember { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 141 | league: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 142 | builderBaseLeague: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 143 | versusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | role: serde_json::Value, [INFO] [stdout] | ^^^^ [INFO] [stdout] 147 | expLevel: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 148 | clanRank: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 149 | previousClanRank: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 150 | donations: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 151 | donationsReceived: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 152 | trophies: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 153 | builderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 154 | playerHouse: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanMember` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 158 | pub struct CapitalRaidWeekend { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 159 | state: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 160 | pub startTime: Time, [INFO] [stdout] 161 | endTime: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 162 | capitalTotalLoot: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 163 | raidsCompleted: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 164 | totalAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 165 | enemyDistrictsDestroyed: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 166 | offensiveReward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 167 | defensiveReward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | defenseLog: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CapitalRaidWeekend` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `attackLimit`, `attacks`, `bonusAttackLimit`, and `name` are never read [INFO] [stdout] --> src/collector.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 174 | pub struct CapitalRaidWeekendMember { [INFO] [stdout] | ------------------------ fields in this struct [INFO] [stdout] 175 | attackLimit: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 176 | attacks: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 177 | bonusAttackLimit: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 178 | pub capitalResourcesLooted: usize, [INFO] [stdout] 179 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CapitalRaidWeekendMember` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `opponent`, `team_size`, `attacks_per_member`, `end_time`, and `preparation_start_time` are never read [INFO] [stdout] --> src/collector/warclient.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct CurrentWar { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 73 | opponent: WarClan, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 74 | #[serde(rename = "teamSize")] [INFO] [stdout] 75 | team_size: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 76 | #[serde(rename = "attacksPerMember")] [INFO] [stdout] 77 | attacks_per_member: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | end_time: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 82 | #[serde(rename = "preparationStartTime")] [INFO] [stdout] 83 | preparation_start_time: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CurrentWar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector/warclient.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct WarClan { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 112 | tag: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 113 | name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 114 | attacks: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 115 | #[serde(rename = "badgeUrls")] [INFO] [stdout] 116 | badge_urls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 117 | #[serde(rename = "clanLevel")] [INFO] [stdout] 118 | clan_level: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 119 | #[serde(rename = "destructionPercentage")] [INFO] [stdout] 120 | destruction_percentage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 121 | stars: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 122 | #[serde(rename = "expEarned")] [INFO] [stdout] 123 | exp_earned: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WarClan` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mapPosition`, `name`, `opponentAttacks`, `townhallLevel`, and `bestOpponentAttack` are never read [INFO] [stdout] --> src/collector/warclient.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub struct WarClanMember { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 129 | mapPosition: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 130 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 131 | opponentAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 132 | pub tag: PlayerTag, [INFO] [stdout] 133 | townhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | bestOpponentAttack: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WarClanMember` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `tag`, `state`, and `clans` are never read [INFO] [stdout] --> src/collector/cwl.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct ClanWarLeagueGroup { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 29 | tag: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 30 | state: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 31 | pub season: ClanWarLeagueSeason, [INFO] [stdout] 32 | clans: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueGroup` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `tag`, `clan_level`, `name`, `members`, and `badge_urls` are never read [INFO] [stdout] --> src/collector/cwl.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct ClanWarLeagueClan { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 44 | tag: ClanTag, [INFO] [stdout] | ^^^ [INFO] [stdout] 45 | #[serde(rename = "clanLevel")] [INFO] [stdout] 46 | clan_level: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 47 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 48 | members: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 49 | #[serde(rename = "badgeUrls")] [INFO] [stdout] 50 | badge_urls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueClan` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `tag`, `town_hall_level`, and `name` are never read [INFO] [stdout] --> src/collector/cwl.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct ClanWarLeagueClanMember { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 55 | tag: PlayerTag, [INFO] [stdout] | ^^^ [INFO] [stdout] 56 | #[serde(rename = "townHallLevel")] [INFO] [stdout] 57 | town_hall_level: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 58 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueClanMember` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `teamSize`, `preparationStartTime`, `startTime`, `endTime`, and `warStartTime` are never read [INFO] [stdout] --> src/collector/cwl.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct ClanWarLeagueWar { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 63 | pub state: ClanWarLeagueWarState, [INFO] [stdout] 64 | teamSize: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 65 | preparationStartTime: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | startTime: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 67 | endTime: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | warStartTime: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueWar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `badgeUrls`, `attacks`, `clanLevel`, `destructionPercentage`, `name`, and `stars` are never read [INFO] [stdout] --> src/collector/cwl.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct ClanWarLeagueWarClan { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 87 | badgeUrls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 88 | attacks: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 89 | clanLevel: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 90 | destructionPercentage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 91 | pub members: Vec, [INFO] [stdout] 92 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 93 | stars: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueWarClan` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderBaseLeague` should have a snake case name [INFO] [stdout] --> src/collector.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | builderBaseLeague: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_base_league` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warPreference` should have a snake case name [INFO] [stdout] --> src/collector.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | warPreference: String, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `war_preference` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackWins` should have a snake case name [INFO] [stdout] --> src/collector.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | attackWins: usize, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `attack_wins` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defenseWins` should have a snake case name [INFO] [stdout] --> src/collector.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | defenseWins: usize, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `defense_wins` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `versusTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | versusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `versus_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestVersusTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | bestVersusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_versus_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `townHallLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | townHallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `town_hall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `townHallWeaponLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | townHallWeaponLevel: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `town_hall_weapon_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `versusBattleWins` should have a snake case name [INFO] [stdout] --> src/collector.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | versusBattleWins: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `versus_battle_wins` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `legendStatistics` should have a snake case name [INFO] [stdout] --> src/collector.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | legendStatistics: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `legend_statistics` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | expLevel: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `exp_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | bestTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `best_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `donationsReceived` should have a snake case name [INFO] [stdout] --> src/collector.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | donationsReceived: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `donations_received` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderHallLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | builderHallLevel: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_hall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderBaseTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | builderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_base_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestBuilderBaseTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | bestBuilderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_builder_base_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warStars` should have a snake case name [INFO] [stdout] --> src/collector.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | warStars: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `war_stars` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanCapitalContributions` should have a snake case name [INFO] [stdout] --> src/collector.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | clanCapitalContributions: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clan_capital_contributions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `playerHouse` should have a snake case name [INFO] [stdout] --> src/collector.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | playerHouse: Option, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `player_house` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `completionInfo` should have a snake case name [INFO] [stdout] --> src/collector.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | completionInfo: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `completion_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warLeague` should have a snake case name [INFO] [stdout] --> src/collector.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | warLeague: Option, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `war_league` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `capitalLeague` should have a snake case name [INFO] [stdout] --> src/collector.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | capitalLeague: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `capital_league` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `memberList` should have a snake case name [INFO] [stdout] --> src/collector.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | pub memberList: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `member_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `requiredVersusTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | requiredVersusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `required_versus_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isWarLogPublic` should have a snake case name [INFO] [stdout] --> src/collector.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | isWarLogPublic: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_war_log_public` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | clanLevel: usize, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `clan_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warWinStreak` should have a snake case name [INFO] [stdout] --> src/collector.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | warWinStreak: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `war_win_streak` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warWins` should have a snake case name [INFO] [stdout] --> src/collector.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | warWins: usize, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `war_wins` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warTies` should have a snake case name [INFO] [stdout] --> src/collector.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | warTies: usize, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `war_ties` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warLosses` should have a snake case name [INFO] [stdout] --> src/collector.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | warLosses: usize, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `war_losses` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanPoints` should have a snake case name [INFO] [stdout] --> src/collector.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | clanPoints: usize, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `clan_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `requiredTownhallLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | requiredTownhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `required_townhall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `chatLanguage` should have a snake case name [INFO] [stdout] --> src/collector.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | chatLanguage: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `chat_language` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isFamilyFriendly` should have a snake case name [INFO] [stdout] --> src/collector.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | isFamilyFriendly: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_family_friendly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warFrequency` should have a snake case name [INFO] [stdout] --> src/collector.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | warFrequency: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `war_frequency` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanBuilderBasePoints` should have a snake case name [INFO] [stdout] --> src/collector.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | clanBuilderBasePoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clan_builder_base_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanVersusPoints` should have a snake case name [INFO] [stdout] --> src/collector.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | clanVersusPoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clan_versus_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanCapitalPoints` should have a snake case name [INFO] [stdout] --> src/collector.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | clanCapitalPoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clan_capital_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `requiredTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | requiredTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `required_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `requiredBuilderBaseTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | requiredBuilderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `required_builder_base_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanCapital` should have a snake case name [INFO] [stdout] --> src/collector.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | clanCapital: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `clan_capital` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `badgeUrls` should have a snake case name [INFO] [stdout] --> src/collector.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | badgeUrls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `badge_urls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderBaseLeague` should have a snake case name [INFO] [stdout] --> src/collector.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | builderBaseLeague: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_base_league` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `versusTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | versusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `versus_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | expLevel: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `exp_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanRank` should have a snake case name [INFO] [stdout] --> src/collector.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | clanRank: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `clan_rank` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `previousClanRank` should have a snake case name [INFO] [stdout] --> src/collector.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | previousClanRank: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `previous_clan_rank` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `donationsReceived` should have a snake case name [INFO] [stdout] --> src/collector.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | donationsReceived: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `donations_received` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderBaseTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | builderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_base_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `playerHouse` should have a snake case name [INFO] [stdout] --> src/collector.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | playerHouse: Option, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `player_house` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `startTime` should have a snake case name [INFO] [stdout] --> src/collector.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | pub startTime: Time, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `endTime` should have a snake case name [INFO] [stdout] --> src/collector.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | endTime: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `end_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `capitalTotalLoot` should have a snake case name [INFO] [stdout] --> src/collector.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | capitalTotalLoot: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `capital_total_loot` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `raidsCompleted` should have a snake case name [INFO] [stdout] --> src/collector.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | raidsCompleted: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `raids_completed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `totalAttacks` should have a snake case name [INFO] [stdout] --> src/collector.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | totalAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `total_attacks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `enemyDistrictsDestroyed` should have a snake case name [INFO] [stdout] --> src/collector.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | enemyDistrictsDestroyed: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `enemy_districts_destroyed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `offensiveReward` should have a snake case name [INFO] [stdout] --> src/collector.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 166 | offensiveReward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `offensive_reward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defensiveReward` should have a snake case name [INFO] [stdout] --> src/collector.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | defensiveReward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `defensive_reward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackLog` should have a snake case name [INFO] [stdout] --> src/collector.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | pub attackLog: Vec, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `attack_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defenseLog` should have a snake case name [INFO] [stdout] --> src/collector.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | defenseLog: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `defense_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackLimit` should have a snake case name [INFO] [stdout] --> src/collector.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | attackLimit: usize, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `attack_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bonusAttackLimit` should have a snake case name [INFO] [stdout] --> src/collector.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | bonusAttackLimit: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bonus_attack_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `capitalResourcesLooted` should have a snake case name [INFO] [stdout] --> src/collector.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | pub capitalResourcesLooted: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `capital_resources_looted` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `mapPosition` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | mapPosition: usize, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `map_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `opponentAttacks` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | opponentAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `opponent_attacks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `townhallLevel` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | townhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `townhall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestOpponentAttack` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | bestOpponentAttack: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_opponent_attack` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackerTag` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | pub attackerTag: PlayerTag, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `attacker_tag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defenderTag` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | pub defenderTag: PlayerTag, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `defender_tag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `destructionPercentage` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | pub destructionPercentage: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `destruction_percentage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `teamSize` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | teamSize: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `team_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `preparationStartTime` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | preparationStartTime: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `preparation_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `startTime` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | startTime: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `endTime` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | endTime: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `end_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warStartTime` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | warStartTime: String, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `war_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `badgeUrls` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | badgeUrls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `badge_urls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanLevel` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | clanLevel: usize, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `clan_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `destructionPercentage` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | destructionPercentage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `destruction_percentage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `mapPosition` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | pub mapPosition: usize, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `map_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `townhallLevel` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | pub townhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `townhall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `opponentAttacks` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | pub opponentAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `opponent_attacks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestOpponentAttack` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | pub bestOpponentAttack: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_opponent_attack` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackerTag` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | pub attackerTag: PlayerTag, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `attacker_tag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defenderTag` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | pub defenderTag: PlayerTag, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `defender_tag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `destructionPercentage` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | pub destructionPercentage: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `destruction_percentage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | worksheet.write_string(0, column_index.next().unwrap(), "Name"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "Name"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | worksheet.write_string(0, column_index.next().unwrap(), format!("CWL {}", idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 20 | let _ = worksheet.write_string(0, column_index.next().unwrap(), format!("CWL {}", idx)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | worksheet.write_string(0, column_index.next().unwrap(), "CWL Score"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 22 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "CWL Score"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | worksheet.write_string(0, column_index.next().unwrap(), format!("War {}", idx + 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 24 | let _ = worksheet.write_string(0, column_index.next().unwrap(), format!("War {}", idx + 1)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | worksheet.write_string(0, column_index.next().unwrap(), "War Score"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 26 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "War Score"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | worksheet.write_string(0, column_index.next().unwrap(), format!("Raid {}", idx + 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 28 | let _ = worksheet.write_string(0, column_index.next().unwrap(), format!("Raid {}", idx + 1)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | worksheet.write_string(0, column_index.next().unwrap(), "Raid Score"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 30 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "Raid Score"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | worksheet.write_string(0, column_index.next().unwrap(), "Total Score"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 32 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "Total Score"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | worksheet.write_number(row, column_index.next().unwrap(), stars as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 61 | let _ = worksheet.write_number(row, column_index.next().unwrap(), stars as f64); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | / worksheet.write_number( [INFO] [stdout] 64 | | row, [INFO] [stdout] 65 | | column_index.next().unwrap(), [INFO] [stdout] 66 | | (summary.cwl_stars as f64 / 21.0) * 100.0, [INFO] [stdout] 67 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 63 | let _ = worksheet.write_number( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | worksheet.write_number(row, column_index.next().unwrap(), stars as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 79 | let _ = worksheet.write_number(row, column_index.next().unwrap(), stars as f64); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | / worksheet.write_number( [INFO] [stdout] 82 | | row, [INFO] [stdout] 83 | | column_index.next().unwrap(), [INFO] [stdout] 84 | | (summary.war_stars as f64 / 66.0) * 100.0, [INFO] [stdout] 85 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 81 | let _ = worksheet.write_number( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | worksheet.write_number(row, column_index.next().unwrap(), loot as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 92 | let _ = worksheet.write_number(row, column_index.next().unwrap(), loot as f64); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | / worksheet.write_number( [INFO] [stdout] 95 | | row, [INFO] [stdout] 96 | | column_index.next().unwrap(), [INFO] [stdout] 97 | | (summary.raid_loot as f64 / 120000.0) * 100.0, [INFO] [stdout] 98 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 94 | let _ = worksheet.write_number( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | worksheet.write_number(row, column_index.next().unwrap(), score); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 104 | let _ = worksheet.write_number(row, column_index.next().unwrap(), score); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling gold-pass-bot v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: 126 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PlayerGamesStats` [INFO] [stdout] --> src/collector/warclient.rs:4:53 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{ClanBadges, ClanTag, Client, LoadError, PlayerGamesStats, PlayerTag, Time, WarLog}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `groupNotFound` should have an upper camel case name [INFO] [stdout] --> src/collector/cwl.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | groupNotFound, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GroupNotFound` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `notInWar` should have an upper camel case name [INFO] [stdout] --> src/collector/cwl.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | notInWar, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `NotInWar` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:139:28 [INFO] [stdout] | [INFO] [stdout] 139 | if let Err(e) = gold_pass_bot::update_names(&client, &tag, clan_season_stats).await [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:144:28 [INFO] [stdout] | [INFO] [stdout] 144 | if let Err(e) = gold_pass_bot::update_war(&client, &tag, &mut storage).await { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:148:28 [INFO] [stdout] | [INFO] [stdout] 148 | if let Err(e) = gold_pass_bot::update_cwl(&client, &tag, &mut storage).await { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/main.rs:152:28 [INFO] [stdout] | [INFO] [stdout] 152 | if let Err(e) = gold_pass_bot::update_clan_games(&client, &tag, &mut storage).await [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/storage.rs:205:51 [INFO] [stdout] | [INFO] [stdout] 205 | let content = store.load().await.map_err(|e| ())?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/storage.rs:206:51 [INFO] [stdout] | [INFO] [stdout] 206 | serde_json::from_slice(&content).map_err(|e| ()) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/ctracing.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | ctx: tracing_subscriber::layer::Context<'_, S>, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/storage/files.rs:60:69 [INFO] [stdout] | [INFO] [stdout] 60 | Box::pin(async move { tokio::fs::read(&path).await.map_err(|e| ()) }) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/storage/s3.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | Err(e) => Err(()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w_index` [INFO] [stdout] --> src/excelstats.rs:71:18 [INFO] [stdout] | [INFO] [stdout] 71 | for (w_index, (_, w_stats)) in stats.wars.iter().enumerate() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_w_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r_index` [INFO] [stdout] --> src/excelstats.rs:89:18 [INFO] [stdout] | [INFO] [stdout] 89 | for (r_index, (d, raid)) in stats.raid_weekend.iter().enumerate() { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_r_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/excelstats.rs:89:28 [INFO] [stdout] | [INFO] [stdout] 89 | for (r_index, (d, raid)) in stats.raid_weekend.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct PlayerInfo { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 43 | clan: serde_json::Value, [INFO] [stdout] | ^^^^ [INFO] [stdout] 44 | league: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 45 | builderBaseLeague: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | role: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 47 | warPreference: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 48 | attackWins: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 49 | defenseWins: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 50 | versusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 51 | bestVersusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 52 | townHallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 53 | townHallWeaponLevel: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 54 | versusBattleWins: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 55 | legendStatistics: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 56 | troops: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 57 | heroes: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 58 | spells: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 59 | labels: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | expLevel: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 63 | trophies: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 64 | bestTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 65 | donations: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 66 | donationsReceived: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | builderHallLevel: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | builderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 69 | bestBuilderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | warStars: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 71 | pub achievements: Vec, [INFO] [stdout] 72 | clanCapitalContributions: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 73 | playerHouse: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stars`, `target`, `info`, `completionInfo`, and `village` are never read [INFO] [stdout] --> src/collector.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct PlayerAchievement { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 78 | stars: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | target: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 82 | info: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 83 | completionInfo: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 84 | village: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerAchievement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `attacks_per_member`, `clan`, `end_time`, `opponent`, `result`, and `team_size` are never read [INFO] [stdout] --> src/collector.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 93 | pub struct WarLogEntry { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 94 | #[serde(rename = "attacksPerMember")] [INFO] [stdout] 95 | attacks_per_member: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 96 | clan: serde_json::Value, [INFO] [stdout] | ^^^^ [INFO] [stdout] 97 | #[serde(rename = "endTime")] [INFO] [stdout] 98 | end_time: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 99 | opponent: serde_json::Value, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 100 | result: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 101 | #[serde(rename = "teamSize")] [INFO] [stdout] 102 | team_size: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WarLogEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct ClanInfo { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 107 | warLeague: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 108 | capitalLeague: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 109 | pub memberList: Vec, [INFO] [stdout] 110 | tag: ClanTag, [INFO] [stdout] | ^^^ [INFO] [stdout] 111 | requiredVersusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 112 | isWarLogPublic: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 113 | clanLevel: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 114 | warWinStreak: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 115 | warWins: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 116 | warTies: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 117 | warLosses: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 118 | clanPoints: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 119 | requiredTownhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 120 | chatLanguage: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 121 | isFamilyFriendly: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 122 | warFrequency: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 123 | clanBuilderBasePoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 124 | clanVersusPoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 125 | clanCapitalPoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 126 | requiredTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 127 | requiredBuilderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 128 | labels: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 129 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 130 | location: serde_json::Value, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 131 | #[serde(rename = "type")] [INFO] [stdout] 132 | ty: serde_json::Value, [INFO] [stdout] | ^^ [INFO] [stdout] 133 | members: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 134 | description: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 135 | clanCapital: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 136 | badgeUrls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 140 | pub struct ClanMember { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 141 | league: serde_json::Value, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 142 | builderBaseLeague: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 143 | versusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | role: serde_json::Value, [INFO] [stdout] | ^^^^ [INFO] [stdout] 147 | expLevel: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 148 | clanRank: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 149 | previousClanRank: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 150 | donations: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 151 | donationsReceived: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 152 | trophies: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 153 | builderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 154 | playerHouse: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanMember` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 158 | pub struct CapitalRaidWeekend { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 159 | state: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 160 | pub startTime: Time, [INFO] [stdout] 161 | endTime: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 162 | capitalTotalLoot: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 163 | raidsCompleted: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 164 | totalAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 165 | enemyDistrictsDestroyed: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 166 | offensiveReward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 167 | defensiveReward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | defenseLog: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CapitalRaidWeekend` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `attackLimit`, `attacks`, `bonusAttackLimit`, and `name` are never read [INFO] [stdout] --> src/collector.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 174 | pub struct CapitalRaidWeekendMember { [INFO] [stdout] | ------------------------ fields in this struct [INFO] [stdout] 175 | attackLimit: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 176 | attacks: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 177 | bonusAttackLimit: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 178 | pub capitalResourcesLooted: usize, [INFO] [stdout] 179 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CapitalRaidWeekendMember` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `opponent`, `team_size`, `attacks_per_member`, `end_time`, and `preparation_start_time` are never read [INFO] [stdout] --> src/collector/warclient.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct CurrentWar { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 73 | opponent: WarClan, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 74 | #[serde(rename = "teamSize")] [INFO] [stdout] 75 | team_size: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 76 | #[serde(rename = "attacksPerMember")] [INFO] [stdout] 77 | attacks_per_member: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | end_time: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 82 | #[serde(rename = "preparationStartTime")] [INFO] [stdout] 83 | preparation_start_time: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CurrentWar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/collector/warclient.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct WarClan { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 112 | tag: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 113 | name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 114 | attacks: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 115 | #[serde(rename = "badgeUrls")] [INFO] [stdout] 116 | badge_urls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 117 | #[serde(rename = "clanLevel")] [INFO] [stdout] 118 | clan_level: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 119 | #[serde(rename = "destructionPercentage")] [INFO] [stdout] 120 | destruction_percentage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 121 | stars: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 122 | #[serde(rename = "expEarned")] [INFO] [stdout] 123 | exp_earned: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WarClan` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mapPosition`, `name`, `opponentAttacks`, `townhallLevel`, and `bestOpponentAttack` are never read [INFO] [stdout] --> src/collector/warclient.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub struct WarClanMember { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 129 | mapPosition: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 130 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 131 | opponentAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 132 | pub tag: PlayerTag, [INFO] [stdout] 133 | townhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | bestOpponentAttack: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WarClanMember` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `tag`, `state`, and `clans` are never read [INFO] [stdout] --> src/collector/cwl.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct ClanWarLeagueGroup { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 29 | tag: Option, [INFO] [stdout] | ^^^ [INFO] [stdout] 30 | state: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 31 | pub season: ClanWarLeagueSeason, [INFO] [stdout] 32 | clans: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueGroup` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `tag`, `clan_level`, `name`, `members`, and `badge_urls` are never read [INFO] [stdout] --> src/collector/cwl.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct ClanWarLeagueClan { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 44 | tag: ClanTag, [INFO] [stdout] | ^^^ [INFO] [stdout] 45 | #[serde(rename = "clanLevel")] [INFO] [stdout] 46 | clan_level: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 47 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 48 | members: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 49 | #[serde(rename = "badgeUrls")] [INFO] [stdout] 50 | badge_urls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueClan` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `tag`, `town_hall_level`, and `name` are never read [INFO] [stdout] --> src/collector/cwl.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct ClanWarLeagueClanMember { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 55 | tag: PlayerTag, [INFO] [stdout] | ^^^ [INFO] [stdout] 56 | #[serde(rename = "townHallLevel")] [INFO] [stdout] 57 | town_hall_level: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 58 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueClanMember` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `teamSize`, `preparationStartTime`, `startTime`, `endTime`, and `warStartTime` are never read [INFO] [stdout] --> src/collector/cwl.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct ClanWarLeagueWar { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 63 | pub state: ClanWarLeagueWarState, [INFO] [stdout] 64 | teamSize: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 65 | preparationStartTime: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | startTime: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 67 | endTime: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | warStartTime: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueWar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `badgeUrls`, `attacks`, `clanLevel`, `destructionPercentage`, `name`, and `stars` are never read [INFO] [stdout] --> src/collector/cwl.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct ClanWarLeagueWarClan { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 87 | badgeUrls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 88 | attacks: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 89 | clanLevel: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 90 | destructionPercentage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 91 | pub members: Vec, [INFO] [stdout] 92 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 93 | stars: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClanWarLeagueWarClan` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderBaseLeague` should have a snake case name [INFO] [stdout] --> src/collector.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | builderBaseLeague: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_base_league` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warPreference` should have a snake case name [INFO] [stdout] --> src/collector.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | warPreference: String, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `war_preference` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackWins` should have a snake case name [INFO] [stdout] --> src/collector.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | attackWins: usize, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `attack_wins` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defenseWins` should have a snake case name [INFO] [stdout] --> src/collector.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | defenseWins: usize, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `defense_wins` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `versusTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | versusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `versus_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestVersusTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | bestVersusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_versus_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `townHallLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | townHallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `town_hall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `townHallWeaponLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | townHallWeaponLevel: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `town_hall_weapon_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `versusBattleWins` should have a snake case name [INFO] [stdout] --> src/collector.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | versusBattleWins: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `versus_battle_wins` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `legendStatistics` should have a snake case name [INFO] [stdout] --> src/collector.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | legendStatistics: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `legend_statistics` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | expLevel: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `exp_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | bestTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `best_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `donationsReceived` should have a snake case name [INFO] [stdout] --> src/collector.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | donationsReceived: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `donations_received` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderHallLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | builderHallLevel: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_hall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderBaseTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | builderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_base_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestBuilderBaseTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | bestBuilderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_builder_base_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warStars` should have a snake case name [INFO] [stdout] --> src/collector.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | warStars: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `war_stars` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanCapitalContributions` should have a snake case name [INFO] [stdout] --> src/collector.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | clanCapitalContributions: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clan_capital_contributions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `playerHouse` should have a snake case name [INFO] [stdout] --> src/collector.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | playerHouse: Option, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `player_house` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `completionInfo` should have a snake case name [INFO] [stdout] --> src/collector.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | completionInfo: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `completion_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warLeague` should have a snake case name [INFO] [stdout] --> src/collector.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | warLeague: Option, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `war_league` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `capitalLeague` should have a snake case name [INFO] [stdout] --> src/collector.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | capitalLeague: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `capital_league` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `memberList` should have a snake case name [INFO] [stdout] --> src/collector.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | pub memberList: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `member_list` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `requiredVersusTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | requiredVersusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `required_versus_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isWarLogPublic` should have a snake case name [INFO] [stdout] --> src/collector.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | isWarLogPublic: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_war_log_public` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | clanLevel: usize, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `clan_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warWinStreak` should have a snake case name [INFO] [stdout] --> src/collector.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | warWinStreak: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `war_win_streak` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warWins` should have a snake case name [INFO] [stdout] --> src/collector.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | warWins: usize, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `war_wins` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warTies` should have a snake case name [INFO] [stdout] --> src/collector.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | warTies: usize, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `war_ties` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warLosses` should have a snake case name [INFO] [stdout] --> src/collector.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | warLosses: usize, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `war_losses` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanPoints` should have a snake case name [INFO] [stdout] --> src/collector.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | clanPoints: usize, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `clan_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `requiredTownhallLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | requiredTownhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `required_townhall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `chatLanguage` should have a snake case name [INFO] [stdout] --> src/collector.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | chatLanguage: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `chat_language` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `isFamilyFriendly` should have a snake case name [INFO] [stdout] --> src/collector.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | isFamilyFriendly: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `is_family_friendly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warFrequency` should have a snake case name [INFO] [stdout] --> src/collector.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 122 | warFrequency: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `war_frequency` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanBuilderBasePoints` should have a snake case name [INFO] [stdout] --> src/collector.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | clanBuilderBasePoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clan_builder_base_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanVersusPoints` should have a snake case name [INFO] [stdout] --> src/collector.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 124 | clanVersusPoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clan_versus_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanCapitalPoints` should have a snake case name [INFO] [stdout] --> src/collector.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | clanCapitalPoints: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `clan_capital_points` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `requiredTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | requiredTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `required_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `requiredBuilderBaseTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | requiredBuilderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `required_builder_base_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanCapital` should have a snake case name [INFO] [stdout] --> src/collector.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | clanCapital: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `clan_capital` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `badgeUrls` should have a snake case name [INFO] [stdout] --> src/collector.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | badgeUrls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `badge_urls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderBaseLeague` should have a snake case name [INFO] [stdout] --> src/collector.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | builderBaseLeague: serde_json::Value, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_base_league` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `versusTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | versusTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `versus_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `expLevel` should have a snake case name [INFO] [stdout] --> src/collector.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | expLevel: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `exp_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanRank` should have a snake case name [INFO] [stdout] --> src/collector.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | clanRank: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `clan_rank` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `previousClanRank` should have a snake case name [INFO] [stdout] --> src/collector.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | previousClanRank: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `previous_clan_rank` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `donationsReceived` should have a snake case name [INFO] [stdout] --> src/collector.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | donationsReceived: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `donations_received` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `builderBaseTrophies` should have a snake case name [INFO] [stdout] --> src/collector.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | builderBaseTrophies: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `builder_base_trophies` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `playerHouse` should have a snake case name [INFO] [stdout] --> src/collector.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | playerHouse: Option, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `player_house` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `startTime` should have a snake case name [INFO] [stdout] --> src/collector.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | pub startTime: Time, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `endTime` should have a snake case name [INFO] [stdout] --> src/collector.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | endTime: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `end_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `capitalTotalLoot` should have a snake case name [INFO] [stdout] --> src/collector.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | capitalTotalLoot: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `capital_total_loot` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `raidsCompleted` should have a snake case name [INFO] [stdout] --> src/collector.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | raidsCompleted: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `raids_completed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `totalAttacks` should have a snake case name [INFO] [stdout] --> src/collector.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | totalAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `total_attacks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `enemyDistrictsDestroyed` should have a snake case name [INFO] [stdout] --> src/collector.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | enemyDistrictsDestroyed: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `enemy_districts_destroyed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `offensiveReward` should have a snake case name [INFO] [stdout] --> src/collector.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 166 | offensiveReward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `offensive_reward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defensiveReward` should have a snake case name [INFO] [stdout] --> src/collector.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | defensiveReward: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `defensive_reward` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackLog` should have a snake case name [INFO] [stdout] --> src/collector.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | pub attackLog: Vec, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `attack_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defenseLog` should have a snake case name [INFO] [stdout] --> src/collector.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | defenseLog: Vec, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `defense_log` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackLimit` should have a snake case name [INFO] [stdout] --> src/collector.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | attackLimit: usize, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `attack_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bonusAttackLimit` should have a snake case name [INFO] [stdout] --> src/collector.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | bonusAttackLimit: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `bonus_attack_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `capitalResourcesLooted` should have a snake case name [INFO] [stdout] --> src/collector.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | pub capitalResourcesLooted: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `capital_resources_looted` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `mapPosition` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | mapPosition: usize, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `map_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `opponentAttacks` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | opponentAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `opponent_attacks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `townhallLevel` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | townhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `townhall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestOpponentAttack` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | bestOpponentAttack: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_opponent_attack` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackerTag` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | pub attackerTag: PlayerTag, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `attacker_tag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defenderTag` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | pub defenderTag: PlayerTag, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `defender_tag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `destructionPercentage` should have a snake case name [INFO] [stdout] --> src/collector/warclient.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | pub destructionPercentage: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `destruction_percentage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `teamSize` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | teamSize: usize, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `team_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `preparationStartTime` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | preparationStartTime: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `preparation_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `startTime` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | startTime: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `endTime` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | endTime: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `end_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `warStartTime` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | warStartTime: String, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `war_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `badgeUrls` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | badgeUrls: ClanBadges, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `badge_urls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `clanLevel` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | clanLevel: usize, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `clan_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `destructionPercentage` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | destructionPercentage: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `destruction_percentage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `mapPosition` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | pub mapPosition: usize, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `map_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `townhallLevel` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | pub townhallLevel: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `townhall_level` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `opponentAttacks` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | pub opponentAttacks: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `opponent_attacks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `bestOpponentAttack` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | pub bestOpponentAttack: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `best_opponent_attack` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `attackerTag` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | pub attackerTag: PlayerTag, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `attacker_tag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defenderTag` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | pub defenderTag: PlayerTag, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `defender_tag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `destructionPercentage` should have a snake case name [INFO] [stdout] --> src/collector/cwl.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | pub destructionPercentage: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `destruction_percentage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | worksheet.write_string(0, column_index.next().unwrap(), "Name"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 18 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "Name"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | worksheet.write_string(0, column_index.next().unwrap(), format!("CWL {}", idx)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 20 | let _ = worksheet.write_string(0, column_index.next().unwrap(), format!("CWL {}", idx)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | worksheet.write_string(0, column_index.next().unwrap(), "CWL Score"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 22 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "CWL Score"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | worksheet.write_string(0, column_index.next().unwrap(), format!("War {}", idx + 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 24 | let _ = worksheet.write_string(0, column_index.next().unwrap(), format!("War {}", idx + 1)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | worksheet.write_string(0, column_index.next().unwrap(), "War Score"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 26 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "War Score"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | worksheet.write_string(0, column_index.next().unwrap(), format!("Raid {}", idx + 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 28 | let _ = worksheet.write_string(0, column_index.next().unwrap(), format!("Raid {}", idx + 1)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | worksheet.write_string(0, column_index.next().unwrap(), "Raid Score"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 30 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "Raid Score"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | worksheet.write_string(0, column_index.next().unwrap(), "Total Score"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 32 | let _ = worksheet.write_string(0, column_index.next().unwrap(), "Total Score"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | worksheet.write_number(row, column_index.next().unwrap(), stars as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 61 | let _ = worksheet.write_number(row, column_index.next().unwrap(), stars as f64); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | / worksheet.write_number( [INFO] [stdout] 64 | | row, [INFO] [stdout] 65 | | column_index.next().unwrap(), [INFO] [stdout] 66 | | (summary.cwl_stars as f64 / 21.0) * 100.0, [INFO] [stdout] 67 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 63 | let _ = worksheet.write_number( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | worksheet.write_number(row, column_index.next().unwrap(), stars as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 79 | let _ = worksheet.write_number(row, column_index.next().unwrap(), stars as f64); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | / worksheet.write_number( [INFO] [stdout] 82 | | row, [INFO] [stdout] 83 | | column_index.next().unwrap(), [INFO] [stdout] 84 | | (summary.war_stars as f64 / 66.0) * 100.0, [INFO] [stdout] 85 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 81 | let _ = worksheet.write_number( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | worksheet.write_number(row, column_index.next().unwrap(), loot as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 92 | let _ = worksheet.write_number(row, column_index.next().unwrap(), loot as f64); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | / worksheet.write_number( [INFO] [stdout] 95 | | row, [INFO] [stdout] 96 | | column_index.next().unwrap(), [INFO] [stdout] 97 | | (summary.raid_loot as f64 / 120000.0) * 100.0, [INFO] [stdout] 98 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 94 | let _ = worksheet.write_number( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/excelstats.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | worksheet.write_number(row, column_index.next().unwrap(), score); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 104 | let _ = worksheet.write_number(row, column_index.next().unwrap(), score); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 126 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.48s [INFO] running `Command { std: "docker" "inspect" "54916180125fe2b1086570d0ddfccfc65d93815576ddc7a93176c6b45dee1095", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "54916180125fe2b1086570d0ddfccfc65d93815576ddc7a93176c6b45dee1095", kill_on_drop: false }` [INFO] [stdout] 54916180125fe2b1086570d0ddfccfc65d93815576ddc7a93176c6b45dee1095