[INFO] cloning repository https://github.com/Sir-NoChill/open-civ-vi [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Sir-NoChill/open-civ-vi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSir-NoChill%2Fopen-civ-vi", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSir-NoChill%2Fopen-civ-vi'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7b1d8185d3402568189fea7843448d0064aad2e2 [INFO] testing Sir-NoChill/open-civ-vi against 1.97.0-beta.6 for beta-1.98-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSir-NoChill%2Fopen-civ-vi" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/Sir-NoChill/open-civ-vi [INFO] finished tweaking git repo https://github.com/Sir-NoChill/open-civ-vi [INFO] tweaked toml for git repo https://github.com/Sir-NoChill/open-civ-vi written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Sir-NoChill/open-civ-vi on toolchain 1.97.0-beta.6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Sir-NoChill/open-civ-vi 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen v0.2.114 [INFO] [stderr] Downloaded ulid v1.2.1 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.114 [INFO] [stderr] Downloaded nibble_vec v0.1.0 [INFO] [stderr] Downloaded endian-type v0.1.2 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.114 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.114 [INFO] [stderr] Downloaded serde_spanned v1.0.4 [INFO] [stderr] Downloaded home v0.5.12 [INFO] [stderr] Downloaded error-code v3.3.2 [INFO] [stderr] Downloaded futures-sink v0.3.32 [INFO] [stderr] Downloaded fd-lock v4.0.4 [INFO] [stderr] Downloaded try-lock v0.2.5 [INFO] [stderr] Downloaded cast v0.3.0 [INFO] [stderr] Downloaded winnow v0.7.15 [INFO] [stderr] Downloaded pathdiff v0.2.3 [INFO] [stderr] Downloaded clipboard-win v5.4.1 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.64 [INFO] [stderr] Downloaded futures-macro v0.3.32 [INFO] [stderr] Downloaded idna_adapter v1.2.1 [INFO] [stderr] Downloaded form_urlencoded v1.2.2 [INFO] [stderr] Downloaded futures-io v0.3.32 [INFO] [stderr] Downloaded stable_deref_trait v1.2.1 [INFO] [stderr] Downloaded potential_utf v0.1.4 [INFO] [stderr] Downloaded zerofrom-derive v0.1.6 [INFO] [stderr] Downloaded signature v2.2.0 [INFO] [stderr] Downloaded toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Downloaded zerofrom v0.1.6 [INFO] [stderr] Downloaded tower-service v0.3.3 [INFO] [stderr] Downloaded http-range-header v0.4.2 [INFO] [stderr] Downloaded wasm-bindgen-test v0.3.64 [INFO] [stderr] Downloaded toml v0.9.12+spec-1.1.0 [INFO] [stderr] Downloaded tower-layer v0.3.3 [INFO] [stderr] Downloaded rustc-hash v2.1.1 [INFO] [stderr] Downloaded lru-slab v0.1.2 [INFO] [stderr] Downloaded winapi-util v0.1.11 [INFO] [stderr] Downloaded wasm-bindgen-test-macro v0.3.64 [INFO] [stderr] Downloaded sync_wrapper v1.0.2 [INFO] [stderr] Downloaded send_wrapper v0.6.0 [INFO] [stderr] Downloaded yoke-derive v0.8.1 [INFO] [stderr] Downloaded wasm-bindgen-test-shared v0.2.114 [INFO] [stderr] Downloaded http-body v1.0.1 [INFO] [stderr] Downloaded pollster v0.3.0 [INFO] [stderr] Downloaded httpdate v1.0.3 [INFO] [stderr] Downloaded untrusted v0.9.0 [INFO] [stderr] Downloaded ed25519 v2.2.3 [INFO] [stderr] Downloaded utf-8 v0.7.6 [INFO] [stderr] Downloaded clap_lex v1.0.0 [INFO] [stderr] Downloaded sha1 v0.10.6 [INFO] [stderr] Downloaded mime_guess v2.0.5 [INFO] [stderr] Downloaded quote-use v0.8.4 [INFO] [stderr] Downloaded quote-use-macros v0.8.4 [INFO] [stderr] Downloaded collection_literals v1.0.3 [INFO] [stderr] Downloaded leptos_dom v0.7.8 [INFO] [stderr] Downloaded synstructure v0.13.2 [INFO] [stderr] Downloaded tinystr v0.8.2 [INFO] [stderr] Downloaded tokio-macros v2.6.1 [INFO] [stderr] Downloaded http-body-util v0.1.3 [INFO] [stderr] Downloaded hyper-rustls v0.27.9 [INFO] [stderr] Downloaded any_spawner v0.2.0 [INFO] [stderr] Downloaded oco_ref v0.2.1 [INFO] [stderr] Downloaded syn_derive v0.2.0 [INFO] [stderr] Downloaded proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Downloaded manyhow-macros v0.11.4 [INFO] [stderr] Downloaded yoke v0.8.1 [INFO] [stderr] Downloaded writeable v0.6.2 [INFO] [stderr] Downloaded signal-hook-registry v1.4.8 [INFO] [stderr] Downloaded unicase v2.9.0 [INFO] [stderr] Downloaded thiserror v2.0.18 [INFO] [stderr] Downloaded thiserror-impl v2.0.18 [INFO] [stderr] Downloaded ipnet v2.12.0 [INFO] [stderr] Downloaded throw_error v0.2.0 [INFO] [stderr] Downloaded or_poisoned v0.1.0 [INFO] [stderr] Downloaded utf8-width v0.1.8 [INFO] [stderr] Downloaded drain_filter_polyfill v0.1.3 [INFO] [stderr] Downloaded server_fn_macro_default v0.7.8 [INFO] [stderr] Downloaded rand_core v0.9.5 [INFO] [stderr] Downloaded rand_chacha v0.9.0 [INFO] [stderr] Downloaded rustls-pki-types v1.14.1 [INFO] [stderr] Downloaded futures-channel v0.3.32 [INFO] [stderr] Downloaded zerovec-derive v0.11.2 [INFO] [stderr] Downloaded litemap v0.8.1 [INFO] [stderr] Downloaded getrandom v0.2.17 [INFO] [stderr] Downloaded quinn-udp v0.5.14 [INFO] [stderr] Downloaded httparse v1.10.1 [INFO] [stderr] Downloaded reactive_stores_macro v0.1.8 [INFO] [stderr] Downloaded guardian v1.3.0 [INFO] [stderr] Downloaded next_tuple v0.1.0 [INFO] [stderr] Downloaded colorchoice v1.0.4 [INFO] [stderr] Downloaded icu_properties v2.1.2 [INFO] [stderr] Downloaded tokio-rustls v0.26.4 [INFO] [stderr] Downloaded ryu v1.0.23 [INFO] [stderr] Downloaded tinyvec v1.11.0 [INFO] [stderr] Downloaded hydration_context v0.2.1 [INFO] [stderr] Downloaded event-listener-strategy v0.5.4 [INFO] [stderr] Downloaded either_of v0.1.8 [INFO] [stderr] Downloaded const_str_slice_concat v0.1.0 [INFO] [stderr] Downloaded server_fn_macro v0.7.8 [INFO] [stderr] Downloaded gloo-utils v0.2.0 [INFO] [stderr] Downloaded attribute-derive-macro v0.10.5 [INFO] [stderr] Downloaded interpolator v0.5.0 [INFO] [stderr] Downloaded getrandom v0.3.4 [INFO] [stderr] Downloaded bitflags v2.11.0 [INFO] [stderr] Downloaded zerotrie v0.2.3 [INFO] [stderr] Downloaded icu_normalizer_data v2.1.1 [INFO] [stderr] Downloaded socket2 v0.6.3 [INFO] [stderr] Downloaded oorandom v11.1.5 [INFO] [stderr] Downloaded async-trait v0.1.89 [INFO] [stderr] Downloaded serde-wasm-bindgen v0.6.5 [INFO] [stderr] Downloaded pkcs8 v0.10.2 [INFO] [stderr] Downloaded dashmap v6.1.0 [INFO] [stderr] Downloaded tokio-tungstenite v0.28.0 [INFO] [stderr] Downloaded serde_path_to_error v0.1.20 [INFO] [stderr] Downloaded axum-core v0.5.6 [INFO] [stderr] Downloaded anstyle v1.0.13 [INFO] [stderr] Downloaded config v0.15.19 [INFO] [stderr] Downloaded r-efi v5.3.0 [INFO] [stderr] Downloaded url v2.5.8 [INFO] [stderr] Downloaded icu_provider v2.1.1 [INFO] [stderr] Downloaded icu_locale_core v2.1.1 [INFO] [stderr] Downloaded icu_collections v2.1.1 [INFO] [stderr] Downloaded icu_normalizer v2.1.1 [INFO] [stderr] Downloaded bytes v1.11.1 [INFO] [stderr] Downloaded rustls-webpki v0.103.13 [INFO] [stderr] Downloaded spki v0.7.3 [INFO] [stderr] Downloaded base64ct v1.8.3 [INFO] [stderr] Downloaded anstyle-parse v0.2.7 [INFO] [stderr] Downloaded typed-builder v0.20.1 [INFO] [stderr] Downloaded linear-map v1.2.0 [INFO] [stderr] Downloaded html-escape v0.2.13 [INFO] [stderr] Downloaded dyn-clone v1.0.20 [INFO] [stderr] Downloaded const_format_proc_macros v0.2.34 [INFO] [stderr] Downloaded gloo-net v0.6.0 [INFO] [stderr] Downloaded pin-project-internal v1.1.11 [INFO] [stderr] Downloaded leptos_server v0.7.8 [INFO] [stderr] Downloaded attribute-derive v0.10.5 [INFO] [stderr] Downloaded manyhow v0.11.4 [INFO] [stderr] Downloaded proc-macro-utils v0.10.0 [INFO] [stderr] Downloaded js-sys v0.3.91 [INFO] [stderr] Downloaded rand v0.9.2 [INFO] [stderr] Downloaded zerocopy-derive v0.8.40 [INFO] [stderr] Downloaded mio v1.1.1 [INFO] [stderr] Downloaded http v1.4.0 [INFO] [stderr] Downloaded cc v1.2.62 [INFO] [stderr] Downloaded quinn v0.11.9 [INFO] [stderr] Downloaded hyper-util v0.1.20 [INFO] [stderr] Downloaded typed-builder-macro v0.20.1 [INFO] [stderr] Downloaded reactive_stores v0.1.8 [INFO] [stderr] Downloaded convert_case v0.7.1 [INFO] [stderr] Downloaded futures-executor v0.3.32 [INFO] [stderr] Downloaded convert_case v0.6.0 [INFO] [stderr] Downloaded rustyline v15.0.0 [INFO] [stderr] Downloaded zerovec v0.11.5 [INFO] [stderr] Downloaded tower v0.5.3 [INFO] [stderr] Downloaded minicov v0.3.8 [INFO] [stderr] Downloaded const-oid v0.9.6 [INFO] [stderr] Downloaded data-encoding v2.10.0 [INFO] [stderr] Downloaded matchit v0.8.4 [INFO] [stderr] Downloaded clap_derive v4.5.55 [INFO] [stderr] Downloaded anstream v0.6.21 [INFO] [stderr] Downloaded leptos_hot_reload v0.7.8 [INFO] [stderr] Downloaded leptos_config v0.7.8 [INFO] [stderr] Downloaded idna v1.1.0 [INFO] [stderr] Downloaded xxhash-rust v0.8.15 [INFO] [stderr] Downloaded rstml v0.12.1 [INFO] [stderr] Downloaded camino v1.2.2 [INFO] [stderr] Downloaded wasip2 v1.0.2+wasi-0.2.9 [INFO] [stderr] Downloaded reqwest v0.12.28 [INFO] [stderr] Downloaded icu_properties_data v2.1.2 [INFO] [stderr] Downloaded tower-http v0.6.8 [INFO] [stderr] Downloaded tokio-util v0.7.18 [INFO] [stderr] Downloaded iri-string v0.7.12 [INFO] [stderr] Downloaded clap v4.5.60 [INFO] [stderr] Downloaded async-lock v3.4.2 [INFO] [stderr] Downloaded wasm-streams v0.4.2 [INFO] [stderr] Downloaded codee v0.3.5 [INFO] [stderr] Downloaded hyper v1.8.1 [INFO] [stderr] Downloaded event-listener v5.4.1 [INFO] [stderr] Downloaded serde_qs v0.13.0 [INFO] [stderr] Downloaded leptos_macro v0.7.9 [INFO] [stderr] Downloaded server_fn v0.7.8 [INFO] [stderr] Downloaded pin-project v1.1.11 [INFO] [stderr] Downloaded uuid v1.22.0 [INFO] [stderr] Downloaded yansi v1.0.1 [INFO] [stderr] Downloaded derive-where v1.6.0 [INFO] [stderr] Downloaded tungstenite v0.28.0 [INFO] [stderr] Downloaded leptos v0.7.8 [INFO] [stderr] Downloaded slotmap v1.1.1 [INFO] [stderr] Downloaded futures v0.3.32 [INFO] [stderr] Downloaded const_format v0.2.35 [INFO] [stderr] Downloaded webpki-roots v1.0.7 [INFO] [stderr] Downloaded quinn-proto v0.11.14 [INFO] [stderr] Downloaded der v0.7.10 [INFO] [stderr] Downloaded reactive_graph v0.1.8 [INFO] [stderr] Downloaded ed25519-dalek v2.2.0 [INFO] [stderr] Downloaded zerocopy v0.8.40 [INFO] [stderr] Downloaded radix_trie v0.2.1 [INFO] [stderr] Downloaded libm v0.2.16 [INFO] [stderr] Downloaded tachys v0.1.9 [INFO] [stderr] Downloaded hashbrown v0.14.5 [INFO] [stderr] Downloaded rustls v0.23.40 [INFO] [stderr] Downloaded itertools v0.14.0 [INFO] [stderr] Downloaded axum v0.8.8 [INFO] [stderr] Downloaded clap_builder v4.5.60 [INFO] [stderr] Downloaded web-sys v0.3.91 [INFO] [stderr] Downloaded libc v0.2.182 [INFO] [stderr] Downloaded tokio v1.50.0 [INFO] [stderr] Downloaded ring v0.17.14 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5 [INFO] running `Command { std: "docker" "start" "032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling zerocopy v0.8.40 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling cc v1.2.62 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling rustls-pki-types v1.14.1 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling rustls v0.23.40 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling iri-string v0.7.12 [INFO] [stderr] Compiling http-range-header v0.4.2 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling data-encoding v2.10.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling webpki-roots v1.0.7 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling nibble_vec v0.1.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling endian-type v0.1.2 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling fd-lock v4.0.4 [INFO] [stderr] Compiling tungstenite v0.28.0 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling radix_trie v0.2.1 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling ulid v1.2.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling open4x-protocol v0.1.0 (/opt/rustwide/workdir/open4x-protocol) [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling libhexgrid v0.1.0 (/opt/rustwide/workdir/libhexgrid) [INFO] [stderr] Compiling libciv v0.1.0 (/opt/rustwide/workdir/libciv) [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling tokio-tungstenite v0.28.0 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling pollster v0.3.0 [INFO] [stderr] Compiling rustyline v15.0.0 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling open4x-client-web v0.1.0 (/opt/rustwide/workdir/open4x-client-web) [INFO] [stderr] Compiling open4x-sdk v0.1.0 (/opt/rustwide/workdir/open4x-sdk) [INFO] [stderr] Compiling open4x-server v0.1.0 (/opt/rustwide/workdir/open4x-server) [INFO] [stderr] Compiling open4x-cli v0.1.0 (/opt/rustwide/workdir/open4x-cli) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 12s [INFO] running `Command { std: "docker" "inspect" "032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.114 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling bumpalo v3.20.2 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling wasm-bindgen-test-shared v0.2.114 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling wasm-bindgen v0.2.114 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.114 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.64 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling tungstenite v0.28.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.114 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling ulid v1.2.1 [INFO] [stderr] Compiling libhexgrid v0.1.0 (/opt/rustwide/workdir/libhexgrid) [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling libciv v0.1.0 (/opt/rustwide/workdir/libciv) [INFO] [stderr] Compiling open4x-protocol v0.1.0 (/opt/rustwide/workdir/open4x-protocol) [INFO] [stderr] Compiling js-sys v0.3.91 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling tokio-tungstenite v0.28.0 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling open4x-client-web v0.1.0 (/opt/rustwide/workdir/open4x-client-web) [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling open4x-sdk v0.1.0 (/opt/rustwide/workdir/open4x-sdk) [INFO] [stderr] Compiling wasm-bindgen-futures v0.4.64 [INFO] [stderr] Compiling wasm-bindgen-test v0.3.64 [INFO] [stderr] Compiling open4x-server v0.1.0 (/opt/rustwide/workdir/open4x-server) [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_city`, `rome_warrior`, `babylon_city`, `babylon_warrior`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | pub rome_id: CivId, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `babylon_id`, `babylon_warrior`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_city`, `babylon_city`, `babylon_warrior`, `warrior_type`, and `settler_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_warrior`, `babylon_warrior`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_warrior`, `babylon_warrior`, `warrior_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_city`, `babylon_id`, `babylon_city`, `warrior_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling open4x-cli v0.1.0 (/opt/rustwide/workdir/open4x-cli) [INFO] [stdout] warning: fields `babylon_city`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | pub rome_id: CivId, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | pub rome_id: CivId, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `babylon_id`, `babylon_warrior`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_warrior`, `babylon_id`, `babylon_warrior`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GreatPersonType` [INFO] [stdout] --> libciv/tests/civ_abilities.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | CivId, DefaultRulesEngine, GreatPersonType, RulesEngine, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Civilization` and `Leader` [INFO] [stdout] --> libciv/tests/civ_abilities.rs:10:30 [INFO] [stdout] | [INFO] [stdout] 10 | use libciv::civ::{BasicUnit, Civilization, Leader}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `babylon_city`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_warrior`, `babylon_id`, `babylon_city`, `babylon_warrior`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pottery_cost` [INFO] [stdout] --> libciv/tests/civ_abilities.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | let pottery_cost = s.state.tech_tree.get(pottery_id).unwrap().cost; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pottery_cost` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_city`, `rome_warrior`, `babylon_city`, `babylon_warrior`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `register_amphitheater` is never used [INFO] [stdout] --> libciv/tests/cultural_victory.rs:20:4 [INFO] [stdout] | [INFO] [stdout] 20 | fn register_amphitheater(s: &mut common::Scenario) -> BuildingId { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_warrior`, `babylon_city`, `babylon_warrior`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_warrior`, `babylon_id`, `babylon_warrior`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CivId` and `GameStateDiff` [INFO] [stdout] --> libciv/tests/tourism.rs:8:39 [INFO] [stdout] | [INFO] [stdout] 8 | use libciv::{BuiltinVictoryCondition, CivId, DefaultRulesEngine, GameStateDiff}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GameState` and `UnitTypeId` [INFO] [stdout] --> libciv/tests/domination_victory.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | GameState, RulesEngine, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 8 | UnitCategory, UnitDomain, UnitId, UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GreatWorkSlot` [INFO] [stdout] --> libciv/tests/domination_victory.rs:11:32 [INFO] [stdout] | [INFO] [stdout] 11 | use libciv::civ::great_works::{GreatWorkSlot, GreatWorkSlotType}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `libciv::game::victory::VictoryKind` [INFO] [stdout] --> libciv/tests/domination_victory.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use libciv::game::victory::VictoryKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `def2` [INFO] [stdout] --> libciv/tests/domination_victory.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | let def2 = spawn_strong_unit(&mut s, babylon_id, HexCoord::from_qr(10, 5), 50); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_def2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rome_id` [INFO] [stdout] --> libciv/tests/domination_victory.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | let rome_id = s.rome_id; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rome_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rome_id` [INFO] [stdout] --> libciv/tests/domination_victory.rs:165:9 [INFO] [stdout] | [INFO] [stdout] 165 | let rome_id = s.rome_id; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rome_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_warrior`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_warrior`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | pub rome_id: CivId, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `babylon_city` is never read [INFO] [stdout] --> libciv/tests/common/mod.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `builder_type` is never read [INFO] [stdout] --> libciv/tests/common/mod.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | pub rome_id: CivId, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_warrior`, `babylon_warrior`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | pub rome_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stdout] 47 | pub warrior_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 48 | pub settler_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rome_city`, `babylon_id`, `babylon_city`, `babylon_warrior`, and `builder_type` are never read [INFO] [stdout] --> libciv/tests/common/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Scenario { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub rome_city: CityId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub babylon_id: CivId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 44 | pub babylon_city: CityId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 45 | pub babylon_warrior: UnitId, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub builder_type: UnitTypeId, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `advance_turn` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:132:8 [INFO] [stdout] | [INFO] [stdout] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move` is never used [INFO] [stdout] --> libciv/tests/common/mod.rs:147:8 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `category`, `combat_strength`, `health`, and `charges` are never used [INFO] [stdout] --> libciv/tests/common/mod.rs:221:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl SpawnUnit { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3m 15s [INFO] running `Command { std: "docker" "inspect" "032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 40 | pub rome_city: CityId, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `apply_move` is never used [INFO] [stderr] --> libciv/tests/common/mod.rs:147:8 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn apply_move(state: &mut GameState, diff: &libciv::GameStateDiff) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> libciv/tests/common/mod.rs:200:12 [INFO] [stderr] | [INFO] [stderr] 181 | impl SpawnUnit { [INFO] [stderr] | -------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 200 | pub fn civilian(unit_type: UnitTypeId, owner: CivId, coord: HexCoord) -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 216 | pub fn domain(mut self, domain: UnitDomain) -> Self { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 226 | pub fn movement(mut self, movement: u32) -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `rome_warrior`, `babylon_warrior`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `advance_turn` is never used [INFO] [stderr] --> libciv/tests/common/mod.rs:132:8 [INFO] [stderr] | [INFO] [stderr] 132 | pub fn advance_turn(s: &mut Scenario) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 40 | pub rome_city: CityId, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stderr] 43 | pub babylon_id: CivId, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `rome_warrior`, `babylon_id`, `babylon_warrior`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stderr] 43 | pub babylon_id: CivId, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `libciv` (test "congress") generated 3 warnings [INFO] [stderr] warning: `libciv` (test "diff_consolidation") generated 4 warnings (2 duplicates) [INFO] [stderr] warning: `libciv` (test "loyalty") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `libciv` (test "improvements") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "natural_wonder_discovery") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `libciv` (test "governors") generated 3 warnings (2 duplicates) [INFO] [stderr] warning: fields `rome_city`, `babylon_id`, `babylon_city`, `warrior_type`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 40 | pub rome_city: CityId, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 43 | pub babylon_id: CivId, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `babylon_id`, `babylon_warrior`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 43 | pub babylon_id: CivId, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 39 | pub rome_id: CivId, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 40 | pub rome_city: CityId, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stderr] 43 | pub babylon_id: CivId, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `rome_city`, `babylon_city`, `babylon_warrior`, `warrior_type`, and `settler_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 40 | pub rome_city: CityId, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stderr] 43 | pub babylon_id: CivId, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `register_amphitheater` is never used [INFO] [stderr] --> libciv/tests/cultural_victory.rs:20:4 [INFO] [stderr] | [INFO] [stderr] 20 | fn register_amphitheater(s: &mut common::Scenario) -> BuildingId { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `rome_warrior`, `babylon_city`, `babylon_warrior`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `libciv` (test "era_score") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "rock_band") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "climate") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "replay") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `libciv` (test "builder") generated 3 warnings (2 duplicates) [INFO] [stderr] warning: `libciv` (test "diff_serde") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "terrain_features") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "cultural_victory") generated 4 warnings (2 duplicates) [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 39 | pub rome_id: CivId, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 40 | pub rome_city: CityId, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 43 | pub babylon_id: CivId, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `rome_city`, `rome_warrior`, `babylon_city`, `babylon_warrior`, `settler_type`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 40 | pub rome_city: CityId, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `rome_warrior`, `babylon_id`, `babylon_city`, `babylon_warrior`, `settler_type`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stderr] 43 | pub babylon_id: CivId, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `babylon_city`, `settler_type`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `rome_city`, `babylon_id`, `babylon_city`, `babylon_warrior`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 40 | pub rome_city: CityId, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 43 | pub babylon_id: CivId, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: methods `category`, `combat_strength`, `health`, and `charges` are never used [INFO] [stderr] --> libciv/tests/common/mod.rs:221:12 [INFO] [stderr] | [INFO] [stderr] 181 | impl SpawnUnit { [INFO] [stderr] | -------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 221 | pub fn category(mut self, category: UnitCategory) -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 231 | pub fn combat_strength(mut self, cs: Option) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 236 | pub fn health(mut self, hp: u32) -> Self { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 241 | pub fn charges(mut self, c: u8) -> Self { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 39 | pub rome_id: CivId, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 40 | pub rome_city: CityId, [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 42 | /// Babylon — the "opponent" civilisation. [INFO] [stderr] 43 | pub babylon_id: CivId, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `libciv` (test "combat_terrain") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "ai_simulation") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `libciv` (test "barbarians") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "game_state_invariants") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "great_persons") generated 3 warnings (2 duplicates) [INFO] [stderr] warning: `libciv` (test "movement_domain") generated 4 warnings (2 duplicates) [INFO] [stderr] warning: `libciv` (test "science_victory") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `libciv` (test "power") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: fields `babylon_city`, `warrior_type`, `settler_type`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CivId` and `GameStateDiff` [INFO] [stderr] --> libciv/tests/tourism.rs:8:39 [INFO] [stderr] | [INFO] [stderr] 8 | use libciv::{BuiltinVictoryCondition, CivId, DefaultRulesEngine, GameStateDiff}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `libciv` (test "trade") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `libciv` (test "districts") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `libciv` (test "religion_spread") generated 3 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "diplomatic_victory") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `libciv` (test "ai_agent") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "tourism") generated 5 warnings (4 duplicates) (run `cargo fix --test "tourism" -p libciv` to apply 1 suggestion) [INFO] [stderr] warning: `libciv` (test "alliances") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: fields `rome_warrior`, `settler_type`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `babylon_city` is never read [INFO] [stderr] --> libciv/tests/common/mod.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `builder_type` is never read [INFO] [stderr] --> libciv/tests/common/mod.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `libciv` (test "religion") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "projects") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `libciv` (test "full_game") generated 2 warnings (1 duplicate) [INFO] [stderr] warning: `libciv` (test "gameplay") generated 2 warnings (1 duplicate) [INFO] [stderr] warning: multiple fields are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 40 | pub rome_city: CityId, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 43 | pub babylon_id: CivId, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `GreatPersonType` [INFO] [stderr] --> libciv/tests/civ_abilities.rs:6:32 [INFO] [stderr] | [INFO] [stderr] 6 | CivId, DefaultRulesEngine, GreatPersonType, RulesEngine, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Civilization` and `Leader` [INFO] [stderr] --> libciv/tests/civ_abilities.rs:10:30 [INFO] [stderr] | [INFO] [stderr] 10 | use libciv::civ::{BasicUnit, Civilization, Leader}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pottery_cost` [INFO] [stderr] --> libciv/tests/civ_abilities.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | let pottery_cost = s.state.tech_tree.get(pottery_id).unwrap().cost; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pottery_cost` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `rome_city`, `rome_warrior`, `babylon_city`, `babylon_warrior`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 40 | pub rome_city: CityId, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 44 | pub babylon_city: CityId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `rome_warrior`, `babylon_warrior`, `warrior_type`, and `builder_type` are never read [INFO] [stderr] --> libciv/tests/common/mod.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 36 | pub struct Scenario { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 41 | pub rome_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 45 | pub babylon_warrior: UnitId, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 46 | /// Shared unit-type IDs (same registry for both civs). [INFO] [stderr] 47 | pub warrior_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 48 | pub settler_type: UnitTypeId, [INFO] [stderr] 49 | pub builder_type: UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `GameState` and `UnitTypeId` [INFO] [stderr] --> libciv/tests/domination_victory.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | GameState, RulesEngine, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 8 | UnitCategory, UnitDomain, UnitId, UnitTypeId, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `GreatWorkSlot` [INFO] [stderr] --> libciv/tests/domination_victory.rs:11:32 [INFO] [stderr] | [INFO] [stderr] 11 | use libciv::civ::great_works::{GreatWorkSlot, GreatWorkSlotType}; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `libciv::game::victory::VictoryKind` [INFO] [stderr] --> libciv/tests/domination_victory.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use libciv::game::victory::VictoryKind; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `def2` [INFO] [stderr] --> libciv/tests/domination_victory.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | let def2 = spawn_strong_unit(&mut s, babylon_id, HexCoord::from_qr(10, 5), 50); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_def2` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rome_id` [INFO] [stderr] --> libciv/tests/domination_victory.rs:132:9 [INFO] [stderr] | [INFO] [stderr] 132 | let rome_id = s.rome_id; [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rome_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rome_id` [INFO] [stderr] --> libciv/tests/domination_victory.rs:165:9 [INFO] [stderr] | [INFO] [stderr] 165 | let rome_id = s.rome_id; [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rome_id` [INFO] [stderr] [INFO] [stderr] warning: `libciv` (test "apply_delta") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "civ_abilities") generated 6 warnings (2 duplicates) (run `cargo fix --test "civ_abilities" -p libciv` to apply 3 suggestions) [INFO] [stderr] warning: `libciv` (test "territory") generated 4 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "victory") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `libciv` (test "save_load") generated 3 warnings (3 duplicates) [INFO] [stderr] warning: `libciv` (test "combat_modifiers") generated 4 warnings (4 duplicates) [INFO] [stderr] warning: `libciv` (test "domination_victory") generated 9 warnings (3 duplicates) (run `cargo fix --test "domination_victory" -p libciv` to apply 6 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.60s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/libciv-c34a657cdb67ece8) [INFO] [stdout] [INFO] [stdout] running 144 tests [INFO] [stdout] test ai::deterministic::tests::score_visible_tile_is_10 ... ok [INFO] [stdout] test ai::deterministic::tests::score_unexplored_tile_is_100 ... ok [INFO] [stdout] test ai::deterministic::tests::production_prefers_higher_cost_combat_unit ... ok [INFO] [stdout] test ai::deterministic::tests::production_does_not_replace_existing_queue ... ok [INFO] [stdout] test ai::deterministic::tests::production_queues_unit_when_empty ... ok [INFO] [stdout] test ai::deterministic::tests::score_out_of_bounds_is_min ... ok [INFO] [stdout] test ai::deterministic::tests::agent_is_deterministic_across_two_runs ... ok [INFO] [stdout] test ai::deterministic::tests::unit_moves_to_smallest_coord_when_all_neighbours_tied ... ok [INFO] [stdout] test ai::deterministic::tests::unit_moves_toward_unexplored_tile ... ok [INFO] [stdout] test civ::city_state_defs::tests::test_all_have_envoy_modifiers ... ok [INFO] [stdout] test civ::city_state_defs::tests::test_builtin_city_state_defs_count ... ok [INFO] [stdout] test civ::civilization::tests::get_modifiers_no_war_no_penalty ... ok [INFO] [stdout] test civ::city_state_defs::tests::test_type_distribution ... ok [INFO] [stdout] test civ::city_state_defs::tests::test_all_names_unique ... ok [INFO] [stdout] test civ::city_state_defs::tests::test_geneva_has_not_at_war_condition ... ok [INFO] [stdout] test civ::civilization::tests::get_modifiers_war_weariness_applied ... ok [INFO] [stdout] test civ::civilization::tests::get_tree_modifiers_collects_grant_modifier_from_tech ... ok [INFO] [stdout] test civ::civilization::tests::get_tree_modifiers_ignores_non_grant_effects ... ok [INFO] [stdout] test civ::era::tests::compute_era_age_heroic_after_dark ... ok [INFO] [stdout] test civ::era::tests::compute_era_age_dark ... ok [INFO] [stdout] test civ::era::tests::compute_era_age_dark_even_after_dark ... ok [INFO] [stdout] test civ::tourism::tests::cultural_dominance_requires_exceeding_domestic ... ok [INFO] [stdout] test civ::era::tests::compute_era_age_normal ... ok [INFO] [stdout] test civ::era::tests::compute_era_age_golden ... ok [INFO] [stdout] test civ::tourism::tests::domestic_tourists_scales_with_culture ... ok [INFO] [stdout] test civ::tourism::tests::cultural_dominance_needs_all_civs ... ok [INFO] [stdout] test game::board::tests::test_dijkstra_avoids_impassable ... ok [INFO] [stdout] test game::board::tests::test_los_blocked_by_high ... ok [INFO] [stdout] test game::board::tests::test_wraparound_east_west ... ok [INFO] [stdout] test game::board::tests::test_edge_lookup_both_directions ... ok [INFO] [stdout] test game::board::tests::test_dijkstra_prefers_roads ... ok [INFO] [stdout] test game::production_helpers::tests::always_available_buildings_are_producible ... ok [INFO] [stdout] test ai::deterministic::tests::score_explored_not_visible_is_50 ... ok [INFO] [stdout] test game::production_helpers::tests::can_produce_unit_respects_gating ... ok [INFO] [stdout] test game::production_helpers::tests::city_excludes_buildings_missing_required_district ... ok [INFO] [stdout] test game::production_helpers::tests::always_available_units_are_producible ... ok [INFO] [stdout] test game::production_helpers::tests::city_excludes_mutually_exclusive_buildings ... ok [INFO] [stdout] test game::production_helpers::tests::city_always_available_buildings_with_implicit_city_center ... ok [INFO] [stdout] test game::production_helpers::tests::city_excludes_buildings_missing_prerequisite ... ok [INFO] [stdout] test game::production_helpers::tests::city_excludes_queued_buildings ... ok [INFO] [stdout] test game::production_helpers::tests::tech_gated_units_not_available_without_unlock ... ok [INFO] [stdout] test game::production_helpers::tests::resolve_replacement_for_rome_swordsman ... ok [INFO] [stdout] test game::production_helpers::tests::rome_queues_swordsman_resolved_to_legion_at_completion ... ok [INFO] [stdout] test game::rules::combat_preview::tests::melee_preview_predicts_symmetric_damage_when_strengths_match ... ok [INFO] [stdout] test game::production_helpers::tests::norway_queues_temple_resolved_to_stave_church_at_completion ... ok [INFO] [stdout] test game::production_helpers::tests::resolve_replacement_no_op_for_generic_civ ... ok [INFO] [stdout] test game::production_helpers::tests::unlocked_unit_becomes_available ... ok [INFO] [stdout] test game::production_helpers::tests::city_excludes_already_built_buildings ... ok [INFO] [stdout] test game::rules::combat_preview::tests::no_defender_returns_none ... ok [INFO] [stdout] test game::rules::combat_preview::tests::out_of_range_returns_none ... ok [INFO] [stdout] test game::rules::combat_preview::tests::stronger_attacker_predicts_higher_defender_damage ... ok [INFO] [stdout] test game::production_helpers::tests::exclusive_unit_not_available_to_wrong_civ ... ok [INFO] [stdout] test game::rules::policy_catalogue::tests::fresh_civ_has_all_policies_locked ... ok [INFO] [stdout] test game::rules::policy_catalogue::tests::slotted_policy_shows_as_active ... ok [INFO] [stdout] test game::rules::policy_catalogue::tests::unlocking_a_policy_flips_to_available ... ok [INFO] [stdout] test game::rules::tests::test_adopt_government_sets_id_and_evicts_policies ... ok [INFO] [stdout] test game::rules::tests::test_assign_citizen_adds_worked_tile ... ok [INFO] [stdout] test game::rules::policy_catalogue::tests::unknown_civ_yields_empty ... ok [INFO] [stdout] test game::rules::tests::test_advance_turn_population_growth_auto_assigns_tile ... ok [INFO] [stdout] test game::rules::tests::test_assign_citizen_lock_persists ... ok [INFO] [stdout] test game::rules::tests::test_assign_policy_no_government ... ok [INFO] [stdout] test game::rules::tests::test_advance_turn_increments_turn_counter ... ok [INFO] [stdout] test game::rules::tests::test_assign_policy_not_unlocked ... ok [INFO] [stdout] test game::rules::tests::test_advance_turn_production_accumulates ... ok [INFO] [stdout] test game::rules::tests::test_advance_turn_population_grows ... ok [INFO] [stdout] test game::rules::tests::test_assign_policy_success ... ok [INFO] [stdout] test game::rules::tests::test_compute_yields_resource_tech_gating ... ok [INFO] [stdout] test game::rules::tests::test_assign_citizen_out_of_range_fails ... ok [INFO] [stdout] test game::rules::tests::test_compute_yields_uses_worked_tiles ... ok [INFO] [stdout] test game::rules::tests::test_declare_war_creates_relation_and_emits_delta ... ok [INFO] [stdout] test game::rules::tests::test_declare_war_same_civ_returns_error ... ok [INFO] [stdout] test game::rules::tests::test_free_unit_with_registry_spawns_basic_unit ... ok [INFO] [stdout] test game::rules::tests::test_grievance_triggers_re_exported ... ok [INFO] [stdout] test game::rules::tests::test_make_peace_no_relation_returns_error ... ok [INFO] [stdout] test game::rules::tests::test_assign_policy_no_slot ... ok [INFO] [stdout] test game::rules::tests::test_grievance_decay_removes_expired_records ... ok [INFO] [stdout] test game::rules::tests::test_free_unit_without_registry_emits_placeholder ... ok [INFO] [stdout] test game::rules::tests::test_make_peace_resolves_war_and_emits_delta ... ok [INFO] [stdout] test game::rules::tests::test_move_unit_impassable_destination ... ok [INFO] [stdout] test game::rules::tests::test_declare_war_already_at_war_returns_error ... ok [INFO] [stdout] test game::rules::tests::test_make_peace_not_at_war_returns_error ... ok [INFO] [stdout] test game::rules::tests::test_research_queue_advances_on_tech_complete ... ok [INFO] [stdout] test game::rules::tests::test_move_unit_full_move ... ok [INFO] [stdout] test game::rules::tests::test_move_unit_partial_move ... ok [INFO] [stdout] test game::rules::tests::test_civilization_capital_computed ... ok [INFO] [stdout] test game::rules::tests::test_status_transitions_to_denounced_on_grievance ... ok [INFO] [stdout] test game::rules::tests::test_turns_at_war_increments_each_turn ... ok [INFO] [stdout] test game::rules::tests::test_war_persists_while_opinion_below_minus_50 ... ok [INFO] [stdout] test game::rules::turn_pending::tests::fresh_civ_owes_research_and_civic_choices ... ok [INFO] [stdout] test game::rules::tests::test_war_weariness_reduces_culture ... ok [INFO] [stdout] test game::rules::unit_actions::tests::builder_with_charges_gets_build ... ok [INFO] [stdout] test game::rules::unit_actions::tests::move_disabled_when_no_movement_remaining ... ok [INFO] [stdout] test game::rules::turn_pending::tests::victory_progress_returns_one_entry_per_registered_condition ... ok [INFO] [stdout] test game::rules::tests::test_war_persists_until_explicit_peace ... ok [INFO] [stdout] test game::rules::turn_pending::tests::unknown_civ_yields_empty ... ok [INFO] [stdout] test rl::reward::tests::score_delta_negative ... ok [INFO] [stdout] test rl::reward::tests::score_delta_positive ... ok [INFO] [stdout] test game::rules::unit_actions::tests::settler_gets_found_city ... ok [INFO] [stdout] test game::rules::unit_actions::tests::warrior_has_move_attack_fortify_sleep ... ok [INFO] [stdout] test game::score::tests::test_compute_score_unknown_civ ... ok [INFO] [stdout] test rules::effect::tests::adopt_government_guard ... ok [INFO] [stdout] test game::rules::unit_actions::tests::unknown_unit_yields_empty ... ok [INFO] [stdout] test game::score::tests::test_all_scores_empty ... ok [INFO] [stdout] test rules::effect::tests::eureka_guard_fires_once ... ok [INFO] [stdout] test rules::effect::tests::grant_modifier_guard_always_true ... ok [INFO] [stdout] test rules::effect::tests::reveal_resource_guard_fires_once ... ok [INFO] [stdout] test rl::reward::tests::terminal_win ... ok [INFO] [stdout] test rules::effect::tests::unlock_policy_guard_fires_once ... ok [INFO] [stdout] test rules::effect::tests::non_cascading_guard_always_true ... ok [INFO] [stdout] test rules::modifier::tests::test_conditional_modifier_skipped_without_context ... ok [INFO] [stdout] test rules::modifier::tests::test_modifier_stacking_additive ... ok [INFO] [stdout] test rules::modifier::tests::test_modifier_stacking_max ... ok [INFO] [stdout] test rules::policy_defs::tests::test_policy_count ... ok [INFO] [stdout] test rules::policy_defs::tests::test_all_have_modifiers ... ok [INFO] [stdout] test rules::policy_defs::tests::test_unique_names ... ok [INFO] [stdout] test rules::modifier::tests::test_modifier_stacking_replace ... ok [INFO] [stdout] test rules::policy_defs::tests::test_register_builtin_policies ... ok [INFO] [stdout] test rules::promotion::tests::test_apostle_promotions ... ok [INFO] [stdout] test rules::promotion::tests::test_all_promotion_names_unique ... ok [INFO] [stdout] test rules::policy_defs::tests::test_policy_types_breakdown ... ok [INFO] [stdout] test rules::promotion::tests::test_builtin_promotions_count ... ok [INFO] [stdout] test rules::promotion::tests::test_spy_promotions ... ok [INFO] [stdout] test rules::promotion::tests::test_tier_0_have_no_prerequisites ... ok [INFO] [stdout] test rules::promotion::tests::test_tier_1_have_no_prerequisites ... ok [INFO] [stdout] test visualize::tests::test_render_grassland ... ok [INFO] [stdout] test rules::promotion::tests::test_each_tiered_class_has_seven ... ok [INFO] [stdout] test visualize::tests::test_render_mountain ... ok [INFO] [stdout] test visualize::tests::test_render_feature_overrides_terrain ... ok [INFO] [stdout] test visualize::tests::test_size_is_1 ... ok [INFO] [stdout] test visualize::tests::test_visualizer_odd_row_indented ... ok [INFO] [stdout] test visualize::tests::test_visualizer_tile_count_in_buffer ... ok [INFO] [stdout] test visualize::tests::test_visualizer_even_row_no_indent ... ok [INFO] [stdout] test world::edge::tests::test_world_edge_river_cost ... ok [INFO] [stdout] test world::climate::tests::test_climate_levels ... ok [INFO] [stdout] test world::terrain::tests::test_terrain_builtin_yields ... ok [INFO] [stdout] test world::terrain::tests::test_terrain_equality ... ok [INFO] [stdout] test world::tile::tests::test_total_yields_all_sources ... ok [INFO] [stdout] test world::tile::tests::test_total_yields_with_improvement ... ok [INFO] [stdout] test world::tile::tests::test_total_yields_with_resource ... ok [INFO] [stdout] test yields::tests::test_yield_bundle_merge_additive ... ok [INFO] [stdout] test world::tile::tests::test_total_yields_pillaged_improvement_excluded ... ok [INFO] [stdout] test world::tile::tests::test_total_yields_terrain_only ... ok [INFO] [stdout] test world::tile::tests::test_world_tile_implements_hextile ... ok [INFO] [stdout] test rl::reward::tests::terminal_loss ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 144 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/ai_agent.rs (/opt/rustwide/target/debug/deps/ai_agent-007b54b1f53ced9d) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test agent_does_not_move_enemy_units ... ok [INFO] [stdout] test production_diff_contains_correct_city_id ... ok [INFO] [stdout] test agent_does_not_double_queue_production ... ok [INFO] [stdout] test agent_queues_production_on_first_turn ... ok [INFO] [stdout] test agent_moves_warrior_toward_unexplored_territory ... ok [INFO] [stdout] test agent_is_deterministic_same_seed ... ok [INFO] [stdout] test both_agents_take_first_turn_without_panic ... ok [INFO] [stdout] test warrior_explores_over_multiple_turns ... ok [INFO] [stdout] test agent_runs_multiple_turns_without_panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/ai_simulation.rs (/opt/rustwide/target/debug/deps/ai_simulation-97901108f7df0674) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test ai_diffs_reference_valid_entities ... ok [INFO] [stdout] test ai_game_deterministic_across_runs ... ok [INFO] [stdout] test ai_game_state_consistency ... ok [INFO] [stdout] test ai_game_units_produced_and_explore ... ok [INFO] [stdout] test ai_game_20_turns_no_panic ... ok [INFO] [stdout] [INFO] [stderr] Running tests/alliances.rs (/opt/rustwide/target/debug/deps/alliances-a51258a3002d2d35) [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test cannot_ally_while_at_war ... ok [INFO] [stdout] test form_alliance_sets_status ... ok [INFO] [stdout] test alliance_levels_up_over_time ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stderr] Running tests/apply_delta.rs (/opt/rustwide/target/debug/deps/apply_delta-d94f500d87863be4) [INFO] [stdout] test apply_improvement_placed_sets_tile ... ok [INFO] [stdout] test apply_gold_changed_adjusts_treasury ... ok [INFO] [stdout] test apply_unit_destroyed_removes_unit ... ok [INFO] [stdout] test apply_unit_moved_updates_coord_and_movement ... ok [INFO] [stdout] test apply_diff_processes_multiple_deltas ... ok [INFO] [stdout] test apply_victory_achieved_sets_game_over ... ok [INFO] [stdout] test round_trip_advance_and_apply_matches ... ok [INFO] [stdout] test apply_turn_advanced_sets_turn ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s [INFO] [stdout] [INFO] [stderr] Running tests/barbarians.rs (/opt/rustwide/target/debug/deps/barbarians-387c3ea2ac334979) [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test barbarian_scout_spawns_from_camp ... ok [INFO] [stdout] test barbarian_camp_spawns_on_turn ... ok [INFO] [stdout] test clans_bribe_camp ... ok [INFO] [stdout] test clans_bribe_accelerates_conversion ... ok [INFO] [stdout] test barbarian_disabled_no_camps ... ok [INFO] [stdout] test barbarian_scout_discovers_player_and_returns ... ok [INFO] [stdout] test clans_camp_converts_to_city_state ... ok [INFO] [stdout] test barbarian_generates_units_after_scout_returns ... ok [INFO] [stdout] test clans_hire_unit_from_camp ... ok [INFO] [stdout] test clans_incite_camp ... ok [INFO] [stdout] test clans_hire_cooldown ... ok [INFO] [stdout] test clans_incite_self_fails ... ok [INFO] [stdout] test clans_insufficient_gold_hire ... ok [INFO] [stdout] test clans_mode_disabled_hire_fails ... ok [INFO] [stdout] test clear_barbarian_camp_removes_units ... ok [INFO] [stdout] test clans_incite_slows_conversion ... ok [INFO] [stdout] test clans_conversion_respects_city_placement_rules ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/builder.rs (/opt/rustwide/target/debug/deps/builder-5311694d97d9f071) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test builder_must_be_at_coord_for_improvement ... ok [INFO] [stdout] test builder_must_be_at_coord_for_road ... ok [INFO] [stdout] test non_builder_unit_rejected ... ok [INFO] [stdout] test place_improvement_without_builder_still_works ... ok [INFO] [stdout] test place_road_ancient_succeeds ... ok [INFO] [stdout] test builder_charges_decrement_on_improvement ... ok [INFO] [stdout] test builder_destroyed_when_charges_exhausted ... ok [INFO] [stdout] test place_road_tile_not_owned ... ok [INFO] [stdout] test place_road_rejects_downgrade ... ok [INFO] [stdout] test place_road_rejects_same_tier ... ok [INFO] [stdout] test ancient_road_no_maintenance ... ok [INFO] [stdout] test place_road_requires_tech ... ok [INFO] [stdout] test road_maintenance_deducted_per_turn ... ok [INFO] [stdout] test road_upgrade_succeeds ... ok [INFO] [stdout] test place_road_on_water_fails ... ok [INFO] [stdout] test place_road_decrements_charges ... ok [INFO] [stderr] Running tests/civ_abilities.rs (/opt/rustwide/target/debug/deps/civ_abilities-47502a3e8ebaa0ee) [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test test_acropolis_requires_hills ... ok [INFO] [stdout] test test_germany_extra_district_slot ... ok [INFO] [stdout] test test_samurai_no_damage_penalty ... ok [INFO] [stdout] test test_stepwell_is_india_exclusive ... ok [INFO] [stdout] test test_sphinx_is_egypt_exclusive ... ok [INFO] [stdout] test test_unique_unit_data_replaces_base ... ok [INFO] [stdout] test test_varu_debuffs_adjacent_enemies ... ok [INFO] [stdout] test test_greece_extra_wildcard_slot ... ok [INFO] [stdout] test test_hoplite_adjacency_bonus ... ok [INFO] [stdout] test test_babylon_science_penalty ... ok [INFO] [stdout] test test_rome_city_founded_gets_monument_and_trading_post ... ok [INFO] [stdout] test test_mamluk_heals_every_turn ... ok [INFO] [stdout] test test_babylon_eureka_gives_full_tech ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/climate.rs (/opt/rustwide/target/debug/deps/climate-3a9edc6bb53b74fd) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test volcanic_eruption_adds_volcanic_soil ... ok [INFO] [stdout] test higher_lowland_not_submerged_until_higher_level ... ok [INFO] [stdout] test coastal_tile_submerged_on_sea_level_rise ... ok [INFO] [stdout] test non_volcanic_disaster_does_not_add_soil ... ok [INFO] [stderr] Running tests/combat_modifiers.rs (/opt/rustwide/target/debug/deps/combat_modifiers-81bcf081e67ea9f5) [INFO] [stdout] test disaster_can_destroy_improvement ... ok [INFO] [stdout] test sea_level_rises_when_co2_crosses_threshold ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test barbarian_kill_no_auto_clear ... ok [INFO] [stdout] test policy_discipline_cs_bonus ... ok [INFO] [stdout] test battle_won_historic_moment ... ok [INFO] [stdout] test promotion_cs_bonus_applied ... ok [INFO] [stdout] test xp_awarded_on_kill ... ok [INFO] [stdout] test xp_scaled_by_era_difference ... ok [INFO] [stdout] test promotion_eligibility_and_heal ... ok [INFO] [stdout] test xp_minimum_one ... ok [INFO] [stdout] test government_cs_bonus_applied ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/combat_terrain.rs (/opt/rustwide/target/debug/deps/combat_terrain-cf073690eada7602) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test marsh_defender_takes_more_damage ... ok [INFO] [stdout] test hills_defender_takes_less_damage ... ok [INFO] [stdout] test forest_defender_takes_less_damage ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/congress.rs (/opt/rustwide/target/debug/deps/congress-717452cb378e9655) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test winner_gets_diplomatic_vp ... ok [INFO] [stdout] test congress_schedules_next_session ... ok [INFO] [stdout] test congress_session_fires_at_interval ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/cultural_victory.rs (/opt/rustwide/target/debug/deps/cultural_victory-c0e6a513352c32cc) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test test_create_great_work_wrong_type_rejected ... ok [INFO] [stdout] test test_create_great_work_no_slot_available ... ok [INFO] [stdout] test test_create_great_work_slots_into_city ... ok [INFO] [stdout] test test_cultural_victory_not_fired_when_tied ... ok [INFO] [stdout] test test_cultural_victory_fires ... ok [INFO] [stdout] test test_great_work_tourism_types ... ok [INFO] [stdout] test test_cultural_victory_requires_exceeding_all_civs ... ok [INFO] [stdout] test test_domestic_culture_accumulates ... ok [INFO] [stderr] Running tests/diff_consolidation.rs (/opt/rustwide/target/debug/deps/diff_consolidation-97e44a50075b7094) [INFO] [stdout] test test_tourism_from_buildings ... ok [INFO] [stdout] test test_tourism_from_great_works ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test population_growth_emits_citizen_assigned ... ok [INFO] [stdout] test process_turn_returns_diff_with_turn_advanced ... ok [INFO] [stdout] test trader_autonomous_movement_emits_unit_moved ... ok [INFO] [stdout] test unique_unit_healing_emits_unit_healed ... ok [INFO] [stdout] test city_revolt_emits_loyalty_changed_after_revolt ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/diff_serde.rs (/opt/rustwide/target/debug/deps/diff_serde-da1ab2caabf25f21) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test empty_diff_round_trip ... ok [INFO] [stdout] test turn_advanced_round_trip ... ok [INFO] [stdout] test combat_delta_round_trip ... ok [INFO] [stdout] test static_str_fields_survive_round_trip ... ok [INFO] [stdout] test move_unit_diff_round_trips ... ok [INFO] [stdout] test unit_moved_round_trip ... ok [INFO] [stdout] test mixed_deltas_round_trip ... ok [INFO] [stdout] test advance_turn_diff_round_trips ... ok [INFO] [stdout] test jsonl_log_format ... ok [INFO] [stderr] Running tests/diplomatic_victory.rs (/opt/rustwide/target/debug/deps/diplomatic_victory-0aadb15a104b6e41) [INFO] [stdout] test replay_recorder_diffs_serialize ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test diplomatic_favor_accumulates_each_turn ... ok [INFO] [stdout] test diplomatic_victory_fires_at_threshold ... ok [INFO] [stdout] test war_reduces_favor_gain ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/districts.rs (/opt/rustwide/target/debug/deps/districts-84e9c2774adb9eda) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test duplicate_district_fails ... ok [INFO] [stdout] test district_too_far_from_city_fails ... ok [INFO] [stdout] test district_on_unowned_tile_fails ... ok [INFO] [stdout] test campus_on_mountain_fails ... ok [INFO] [stdout] test district_on_occupied_tile_fails ... ok [INFO] [stdout] test campus_on_owned_land_succeeds ... ok [INFO] [stdout] test campus_blocked_without_writing ... ok [INFO] [stdout] test harbor_on_coast_succeeds ... ok [INFO] [stdout] test two_different_districts_succeed ... ok [INFO] [stdout] test district_on_city_center_fails ... ok [INFO] [stdout] test harbor_on_land_fails ... ok [INFO] [stdout] test theater_square_requires_craftsmanship_civic ... ok [INFO] [stderr] Running tests/domination_victory.rs (/opt/rustwide/target/debug/deps/domination_victory-703a5be02b2c2ec4) [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test test_domination_progress_tracking ... ok [INFO] [stdout] test test_city_not_captured_if_defenders_remain ... ok [INFO] [stdout] test test_culture_victory_requires_tourism_exceeding_all ... ok [INFO] [stdout] test test_culture_victory_blocked_when_opponent_culture_higher ... ok [INFO] [stdout] test test_domination_victory_fires_on_all_capitals_captured ... ok [INFO] [stdout] test test_domination_victory_not_fired_if_capitals_remain ... ok [INFO] [stdout] test test_city_capture_on_melee_kill ... ok [INFO] [stdout] test test_game_over_projects_to_api_view ... ok [INFO] [stdout] test test_domination_three_civs_requires_both_capitals ... ok [INFO] [stdout] test test_score_victory_not_before_limit ... ok [INFO] [stdout] test test_immediate_win_takes_priority_over_turn_limit ... ok [INFO] [stderr] Running tests/era_score.rs (/opt/rustwide/target/debug/deps/era_score-034c7761422fa563) [INFO] [stdout] test test_score_victory_fires_at_turn_limit ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test test_compute_era_age_boundaries ... ok [INFO] [stdout] test test_battle_won_earns_era_score ... ok [INFO] [stdout] test test_historic_moment_earned_on_city_founded ... ok [INFO] [stdout] test test_era_advancement_resets_score ... ok [INFO] [stdout] test test_historic_moment_earned_on_tech_researched ... ok [INFO] [stdout] test test_golden_age_from_high_score ... ok [INFO] [stdout] test test_heroic_age_after_dark ... ok [INFO] [stdout] test test_dark_age_from_low_score ... ok [INFO] [stdout] test test_era_advanced_delta_emitted ... ok [INFO] [stdout] test test_unique_moment_not_duplicated ... ok [INFO] [stderr] Running tests/full_game.rs (/opt/rustwide/target/debug/deps/full_game-edc3c62052eeb328) [INFO] [stdout] test test_should_advance_era_threshold ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test full_game_religion_lifecycle ... ok [INFO] [stdout] test full_game_combat_and_capture ... ok [INFO] [stdout] test full_game_great_person_lifecycle ... ok [INFO] [stdout] test full_game_cultural_border_expansion ... ok [INFO] [stdout] test full_game_research_and_civic_progression ... ok [INFO] [stdout] test full_game_city_management_lifecycle ... ok [INFO] [stdout] test full_game_trade_route_lifecycle ... ok [INFO] [stdout] test full_game_all_systems_integrated ... ok [INFO] [stdout] test full_game_50_turns_no_panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s [INFO] [stdout] [INFO] [stderr] Running tests/game_state_invariants.rs (/opt/rustwide/target/debug/deps/game_state_invariants-9bad074ff48f5716) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test board_normalize_round_trip ... ok [INFO] [stdout] test visibility_covers_city_radius ... ok [INFO] [stdout] test city_owner_matches_civ_cities_list ... ok [INFO] [stdout] test advance_turn_production_progress ... ok [INFO] [stdout] test all_units_on_passable_terrain ... ok [INFO] [stdout] test advance_turn_does_not_lose_units ... ok [INFO] [stdout] test explored_tiles_never_shrink ... ok [INFO] [stdout] test turn_counter_advances_correctly ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 44 tests [INFO] [stdout] test city_bombard_fails_after_walls_are_destroyed ... ok [INFO] [stdout] test attacking_unit_at_one_hp_destroys_it ... ok [INFO] [stdout] test city_bombard_fails_after_walls_breached_by_combat ... ok [INFO] [stdout] test city_bombard_range_check ... ok [INFO] [stdout] test cannot_found_city_near_enemy_capital ... ok [INFO] [stdout] test city_bombard_deals_damage_no_counter ... ok [INFO] [stdout] test city_capture_destroys_garrisoned_units_on_tile ... ok [INFO] [stdout] test city_bombard_requires_walls ... ok [INFO] [stdout] test city_capture_transfers_ownership_on_last_defender_killed ... ok [INFO] [stdout] test civilian_blocked_from_stacking_with_friendly_unit ... ok [INFO] [stdout] test city_bombard_once_per_turn_resets_after_advance ... ok [INFO] [stdout] test civilian_blocked_from_moving_onto_enemy_unit ... ok [INFO] [stdout] test advance_turn_increments_counter_and_resets_movement ... ok [INFO] [stdout] test fog_of_war_expands_after_unit_move ... ok [INFO] [stdout] test combat_unit_cannot_walk_into_enemy_tile ... ok [INFO] [stdout] test founder_too_close_to_existing_city_is_rejected ... ok [INFO] [stdout] test melee_attack_damages_city_walls ... ok [INFO] [stdout] test idle_unit_heals_in_neutral_territory ... ok [INFO] [stdout] test initial_visibility_covers_starting_tiles ... ok [INFO] [stdout] test melee_attack_emits_damage_and_reduces_health ... ok [INFO] [stdout] test idle_unit_heals_in_friendly_territory ... ok [INFO] [stdout] test ranged_attack_succeeds_without_adjacency ... ok [INFO] [stdout] test no_capture_while_defenders_remain ... ok [INFO] [stdout] test idle_healing_caps_at_100 ... ok [INFO] [stdout] test ranged_attack_beyond_range_is_rejected ... ok [INFO] [stdout] test moved_unit_does_not_heal ... ok [INFO] [stdout] test ranged_attack_does_not_damage_walls ... ok [INFO] [stdout] test ranged_unit_attacks_from_two_tiles_away ... ok [INFO] [stdout] test ranged_kill_on_city_tile_does_not_capture ... ok [INFO] [stdout] test settler_founds_city_and_is_consumed ... ok [INFO] [stdout] test strategic_resource_not_accumulated_without_improvement ... ok [INFO] [stdout] test scenario_initial_state_is_coherent ... ok [INFO] [stdout] test siege_unit_bonus_applies_on_city_tile ... ok [INFO] [stdout] test second_queued_tech_advances_after_first_completes ... ok [INFO] [stdout] test multiple_turns_advance_correctly ... ok [INFO] [stdout] test siege_bonus_not_applied_in_open_field ... ok [INFO] [stdout] test strategic_resource_accumulated_from_improvement ... ok [INFO] [stdout] test two_friendly_units_cannot_stack ... ok [INFO] [stdout] test wall_destruction_when_hp_reaches_zero ... ok [INFO] [stdout] test unit_production_consumes_strategic_resource ... ok [INFO] [stderr] Running tests/gameplay.rs (/opt/rustwide/target/debug/deps/gameplay-fd7cd1f4f4c5c1ac) [INFO] [stdout] test unit_production_blocked_without_resource ... ok [INFO] [stdout] test unit_production_no_resource_cost_completes ... ok [INFO] [stdout] test wall_defense_bonus_reduces_damage_to_defender ... ok [INFO] [stdout] test tech_completes_when_science_fills_progress ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/governors.rs (/opt/rustwide/target/debug/deps/governors-d8b02bbff9f35d30) [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test test_assign_governor_to_city ... ok [INFO] [stdout] test test_assign_governor_to_wrong_civ_city ... ok [INFO] [stdout] test test_governor_modifiers_only_when_established ... ok [INFO] [stdout] test test_assign_governor_already_in_city ... ok [INFO] [stdout] test test_governor_established_delta_emitted ... ok [INFO] [stdout] test test_civic_grants_governor_title ... ok [INFO] [stdout] test test_promote_governor_insufficient_titles ... ok [INFO] [stdout] test test_governor_loyalty_bonus_only_when_established ... ok [INFO] [stdout] test test_pingala_yields_bonus ... ok [INFO] [stdout] test test_promote_governor_already_unlocked ... ok [INFO] [stdout] test test_promote_governor_basic ... ok [INFO] [stdout] test test_promoted_governor_extra_modifiers ... ok [INFO] [stdout] test test_promote_governor_prerequisite_not_met ... ok [INFO] [stdout] test test_promotion_definitions_exist ... ok [INFO] [stdout] test test_promotion_lookup ... ok [INFO] [stdout] test test_promotion_tiers ... ok [INFO] [stdout] test test_promotion_prerequisites_valid ... ok [INFO] [stdout] test test_reassign_governor_resets_timer ... ok [INFO] [stdout] test test_promote_wrong_governor ... ok [INFO] [stdout] test test_governor_establishment_timer_countdown ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/great_persons.rs (/opt/rustwide/target/debug/deps/great_persons-3fe667270d5f651f) [INFO] [stdout] [INFO] [stdout] running 22 tests [INFO] [stdout] test test_era_gating_filters_candidates ... ok [INFO] [stdout] test test_faith_patronage_prophet ... ok [INFO] [stdout] test test_faith_patronage_non_prophet_fails ... ok [INFO] [stdout] test test_competition_consumed_candidate ... ok [INFO] [stdout] test test_faith_patronage_insufficient_faith_fails ... ok [INFO] [stdout] test test_great_person_combat_modifier_applies_in_battle ... ok [INFO] [stdout] test test_district_generates_great_person_points ... ok [INFO] [stdout] test test_great_person_auto_recruited_at_threshold ... ok [INFO] [stdout] test test_gp_point_modifier_bonus_accumulates ... ok [INFO] [stdout] test test_gp_point_modifier_only_applies_to_active_types ... ok [INFO] [stdout] test test_medieval_era_great_person_available ... ok [INFO] [stdout] test test_patronage_insufficient_gold_fails ... ok [INFO] [stdout] test test_retire_already_retired_fails ... ok [INFO] [stdout] test test_retire_great_general_grants_land_combat_bonus ... ok [INFO] [stdout] test test_retire_great_merchant_grants_gold ... ok [INFO] [stdout] test test_retire_great_admiral_grants_naval_combat_bonus ... ok [INFO] [stdout] test test_great_person_patronage_with_gold ... ok [INFO] [stdout] test test_theater_square_generates_three_types ... ok [INFO] [stdout] test test_retire_great_engineer_adds_production ... ok [INFO] [stdout] test test_points_carry_over_after_recruitment ... ok [INFO] [stdout] test test_patronage_partial_points_reduces_cost ... ok [INFO] [stdout] test test_multiple_districts_accumulate ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/improvements.rs (/opt/rustwide/target/debug/deps/improvements-1db712ba257418f7) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test farm_on_grassland_succeeds ... ok [INFO] [stdout] test farm_succeeds_after_pottery_researched ... ok [INFO] [stdout] test mine_blocked_without_mining ... ok [INFO] [stdout] test farm_blocked_without_pottery ... ok [INFO] [stdout] test farm_on_ocean_fails ... ok [INFO] [stdout] test lumbermill_without_forest_fails_and_with_forest_also_fails_tech ... ok [INFO] [stdout] test lumbermill_blocked_by_unreachable_tech ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/los_cliff.rs (/opt/rustwide/target/debug/deps/los_cliff-cf6fdefcb2bb9440) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test gradual_ocean_coast_inland_transition_does_not_block_los ... ok [INFO] [stdout] test ocean_adjacent_to_inland_blocks_los ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/loyalty.rs (/opt/rustwide/target/debug/deps/loyalty-7430fe797ccd6089) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test cities_start_at_full_loyalty ... ok [INFO] [stdout] test loyalty_changed_delta_emitted ... ok [INFO] [stdout] test city_revolts_at_zero_loyalty ... ok [INFO] [stdout] test city_ownership_transfers_on_revolt ... ok [INFO] [stdout] test loyalty_delta_is_clamped ... ok [INFO] [stdout] test governor_stabilizes_loyalty ... ok [INFO] [stdout] test foreign_pressure_erodes_loyalty ... ok [INFO] [stdout] test occupied_city_loses_loyalty_faster ... ok [INFO] [stdout] test city_states_skip_loyalty ... ok [INFO] [stdout] test isolated_capital_stays_loyal ... ok [INFO] [stdout] test territory_transfers_on_revolt ... ok [INFO] [stdout] test sustained_pressure_causes_revolt ... ok [INFO] [stdout] test capital_resists_loyalty_loss ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/mapgen.rs (/opt/rustwide/target/debug/deps/mapgen-10d26c1fbce17eb6) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test land_tiles_have_real_terrain ... ok [INFO] [stdout] test no_mountain_with_hills ... ok [INFO] [stdout] test land_fraction_within_tolerance ... ok [INFO] [stdout] test starting_positions_valid ... ok [INFO] [stdout] test deterministic ... ok [INFO] [stdout] test different_seeds_differ ... ok [INFO] [stderr] Running tests/movement_domain.rs (/opt/rustwide/target/debug/deps/movement_domain-6e719bfb64799b15) [INFO] [stdout] [INFO] [stderr] Running tests/natural_wonder_discovery.rs (/opt/rustwide/target/debug/deps/natural_wonder_discovery-0e97612275939383) [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test embarked_unit_can_move_on_water ... ok [INFO] [stdout] test apply_delta_embark_disembark ... ok [INFO] [stdout] test land_unit_can_embark_coast_with_tech ... ok [INFO] [stdout] test land_unit_can_still_move_on_land ... ok [INFO] [stdout] test disembarking_costs_all_movement ... ok [INFO] [stdout] test embarking_costs_all_movement ... ok [INFO] [stdout] test land_unit_can_embark_ocean_with_full_tech ... ok [INFO] [stdout] test land_unit_cannot_embark_ocean_with_coast_only ... ok [INFO] [stdout] test land_unit_cannot_embark_without_tech ... ok [INFO] [stdout] test sea_unit_cannot_move_onto_land ... ok [INFO] [stdout] test land_unit_cannot_path_through_water ... ok [INFO] [stdout] test settler_cannot_move_onto_ocean ... ok [INFO] [stdout] test sea_unit_can_move_on_water ... ok [INFO] [stdout] test land_unit_cannot_move_onto_ocean ... ok [INFO] [stdout] test land_unit_cannot_move_onto_coast ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test discovering_natural_wonder_emits_delta ... ok [INFO] [stderr] Running tests/natural_wonders.rs (/opt/rustwide/target/debug/deps/natural_wonders-b80457461a5d0f3f) [INFO] [stdout] test rediscovering_natural_wonder_does_not_emit_again ... ok [INFO] [stdout] test wonder_discovery_grants_era_score_via_advance_turn ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test impassable_wonder_has_impassable_movement_cost ... ok [INFO] [stderr] Running tests/power.rs (/opt/rustwide/target/debug/deps/power-2abfb2beeb2ef3ba) [INFO] [stdout] test wonder_appeal_bonus_is_correct ... ok [INFO] [stdout] test wonder_tile_yields_terrain_plus_wonder_bonus ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test co2_accumulates_from_coal_plant ... ok [INFO] [stdout] test power_balance_computed ... ok [INFO] [stdout] test multiple_cities_accumulate_co2 ... ok [INFO] [stdout] test no_co2_from_nuclear_plant ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/projects.rs (/opt/rustwide/target/debug/deps/projects-463f517f2ddaf951) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stderr] Running tests/religion.rs (/opt/rustwide/target/debug/deps/religion-d81a94dddc65ace6) [INFO] [stdout] test non_repeatable_project_removed_from_defs_after_completion ... ok [INFO] [stdout] test science_project_increments_milestones ... ok [INFO] [stdout] test carbon_recapture_reduces_co2 ... ok [INFO] [stdout] test repeatable_project_stays_in_defs ... ok [INFO] [stdout] test project_completes_after_production ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 55 tests [INFO] [stdout] test dance_of_the_aurora_belief_has_tundra_condition ... ok [INFO] [stdout] test city_majority_religion ... ok [INFO] [stdout] test appeal_increases_from_adjacent_mountains ... ok [INFO] [stdout] test appeal_decreases_from_adjacent_marsh ... ok [INFO] [stdout] test belief_defs_loaded ... ok [INFO] [stdout] test appeal_mixed_positive_and_negative ... ok [INFO] [stdout] test and_condition_both_required ... ok [INFO] [stdout] test and_condition_fails_when_one_missing ... ok [INFO] [stdout] test found_pantheon_already_founded ... ok [INFO] [stdout] test earth_goddess_belief_has_appeal_condition ... ok [INFO] [stdout] test found_pantheon_success ... ok [INFO] [stdout] test found_pantheon_insufficient_faith ... ok [INFO] [stdout] test found_religion_no_holy_site ... ok [INFO] [stdout] test desert_folklore_belief_has_desert_condition ... ok [INFO] [stdout] test found_religion_duplicate_name ... ok [INFO] [stdout] test found_religion_already_founded ... ok [INFO] [stdout] test found_pantheon_belief_already_taken ... ok [INFO] [stdout] test found_religion_success ... ok [INFO] [stdout] test god_of_the_forge_belief_has_era_condition ... ok [INFO] [stdout] test god_of_craftsmen_requires_improved_strategic ... ok [INFO] [stdout] test monument_to_the_gods_belief_has_wonder_era_condition ... ok [INFO] [stdout] test or_condition_fails_when_neither ... ok [INFO] [stdout] test per_adjacent_terrain_counts_neighbors_not_self ... ok [INFO] [stdout] test or_condition_passes_on_either ... ok [INFO] [stdout] test per_adjacent_feature_counts_rainforest ... ok [INFO] [stdout] test per_adjacent_terrain_all_six_neighbors ... ok [INFO] [stdout] test god_of_craftsmen_fails_unimproved_strategic ... ok [INFO] [stdout] test purchase_missionary_with_faith ... ok [INFO] [stdout] test producing_military_unit_fails_for_civilian ... ok [INFO] [stdout] test per_adjacent_terrain_zero_when_no_match ... ok [INFO] [stdout] test producing_military_unit_of_era_passes ... ok [INFO] [stdout] test religion_is_enhanced ... ok [INFO] [stdout] test sacred_path_belief_has_rainforest_condition ... ok [INFO] [stdout] test religion_majority_cities ... ok [INFO] [stdout] test purchase_with_insufficient_faith ... ok [INFO] [stdout] test spread_religion_not_on_city ... ok [INFO] [stdout] test religion_total_followers ... ok [INFO] [stdout] test found_religion_prophet_consumed ... ok [INFO] [stdout] test religious_idols_compound_condition ... ok [INFO] [stdout] test religious_idols_fails_mine_over_strategic ... ok [INFO] [stdout] test spread_religion_success ... ok [INFO] [stdout] test spread_religion_decrements_charges ... ok [INFO] [stdout] test spread_religion_unit_destroyed_at_zero_charges ... ok [INFO] [stdout] test theological_combat_not_adjacent ... ok [INFO] [stdout] test theological_combat_non_religious_unit ... ok [INFO] [stdout] test tile_has_improvement_fails_wrong_type ... ok [INFO] [stdout] test tile_has_any_improvement_fails_when_empty ... ok [INFO] [stdout] test tile_has_feature_passes ... ok [INFO] [stdout] test tile_has_improvement_passes_when_present ... ok [INFO] [stdout] test tile_has_any_improvement_passes ... ok [INFO] [stdout] test tile_has_resource_of_category_fails_wrong_category ... ok [INFO] [stdout] test theological_combat_success ... ok [INFO] [stdout] test tile_min_appeal_condition_charming ... ok [INFO] [stderr] Running tests/religion_spread.rs (/opt/rustwide/target/debug/deps/religion_spread-85df5715996d411e) [INFO] [stdout] test theological_combat_same_civ ... ok [INFO] [stdout] test tile_has_resource_of_category_passes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stderr] Running tests/replay.rs (/opt/rustwide/target/debug/deps/replay-53b89fa6d0e2580d) [INFO] [stdout] test holy_city_emits_religious_pressure_delta ... ok [INFO] [stdout] test passive_spread_adds_followers_to_nearby_city ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test record_and_replay_turns ... ok [INFO] [stdout] test step_forward_and_backward ... ok [INFO] [stdout] test jump_to_out_of_range_returns_false ... ok [INFO] [stdout] test replay_state_matches_original ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running tests/rl_env.rs (/opt/rustwide/target/debug/deps/rl_env-47661f3394106d02) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test env_reset_returns_valid_observation ... ok [INFO] [stdout] test env_available_actions_always_includes_end_turn ... ok [INFO] [stdout] test env_queue_production ... ok [INFO] [stdout] test env_step_move_unit ... ok [INFO] [stdout] test env_step_end_turn_advances ... ok [INFO] [stdout] test env_deterministic ... ok [INFO] [stdout] test env_game_completes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s [INFO] [stdout] [INFO] [stderr] Running tests/rock_band.rs (/opt/rustwide/target/debug/deps/rock_band-fa9e9826b430e87d) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test rock_band_destroyed_after_performance ... ok [INFO] [stdout] test rock_band_fails_on_own_city ... ok [INFO] [stdout] test rock_band_performs_at_foreign_city ... ok [INFO] [stderr] Running tests/save_load.rs (/opt/rustwide/target/debug/deps/save_load-c417d7f554420850) [INFO] [stdout] test non_rock_band_fails ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test round_trip_empty_game ... ok [INFO] [stdout] test round_trip_with_civs ... ok [INFO] [stdout] test round_trip_after_turns ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running tests/science_victory.rs (/opt/rustwide/target/debug/deps/science_victory-06c7eeeb243a7b86) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test fifth_milestone_returns_error ... ok [INFO] [stdout] test partial_milestones_do_not_trigger_victory ... ok [INFO] [stdout] test complete_all_milestones_wins_science_victory ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/terrain_features.rs (/opt/rustwide/target/debug/deps/terrain_features-07dd18fd13182bf9) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test wine_under_forest_yields_are_concealed ... ok [INFO] [stdout] test wine_with_forest_cleared_appears_in_yields ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/territory.rs (/opt/rustwide/target/debug/deps/territory-2f59b9471233b363) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test claim_enemy_tile_returns_error ... ok [INFO] [stdout] test claim_already_owned_tile_is_idempotent ... ok [INFO] [stdout] test claim_tile_out_of_range_returns_error ... ok [INFO] [stdout] test claim_unclaimed_tile_succeeds ... ok [INFO] [stdout] test border_expands_when_sufficient_culture ... ok [INFO] [stdout] test border_prefers_ring2_over_ring3 ... ok [INFO] [stdout] test force_claim_own_tile_is_idempotent ... ok [INFO] [stdout] test found_city_emits_tile_claimed_deltas ... ok [INFO] [stdout] test border_stops_at_radius_5 ... ok [INFO] [stdout] test reassign_tile_to_out_of_range_city_fails ... ok [INFO] [stdout] test reassign_tile_same_city_is_idempotent ... ok [INFO] [stdout] test force_claim_enemy_tile_succeeds ... ok [INFO] [stdout] test border_accumulates_base_culture_each_turn ... ok [INFO] [stdout] test reassign_tile_cross_civ_fails ... ok [INFO] [stderr] Running tests/tourism.rs (/opt/rustwide/target/debug/deps/tourism-794263d877489f56) [INFO] [stdout] test reassign_tile_unclaimed_fails ... ok [INFO] [stdout] test reassign_tile_within_same_civ_succeeds ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test compute_tourism_includes_wonder_tourism ... ok [INFO] [stdout] test compute_tourism_zero_without_wonders ... ok [INFO] [stdout] test cultural_dominance_achieved_when_tourism_exceeds_culture ... ok [INFO] [stdout] test culture_victory_not_won_without_dominance ... ok [INFO] [stdout] test domestic_tourists_formula ... ok [INFO] [stdout] test cultural_dominance_fails_if_tied ... ok [INFO] [stdout] test culture_victory_won_with_dominance ... ok [INFO] [stdout] test multiple_wonders_sum_tourism ... ok [INFO] [stdout] test cultural_dominance_not_achieved_without_tourism ... ok [INFO] [stdout] test culture_victory_triggers_game_over_in_advance_turn ... ok [INFO] [stdout] test culture_victory_end_to_end_via_tourism_accumulation ... ok [INFO] [stdout] test lifetime_culture_accumulates_each_turn ... ok [INFO] [stdout] test lifetime_culture_grows_over_multiple_turns ... ok [INFO] [stdout] test tourism_accumulated_grows_with_wonders ... ok [INFO] [stdout] test tourism_generated_delta_emitted ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/trade.rs (/opt/rustwide/target/debug/deps/trade-d2c6979a7d62f150) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test establish_route_consumes_trader_unit ... ok [INFO] [stdout] test assign_trade_route_fails_if_not_trader ... ok [INFO] [stdout] test establish_route_fails_if_not_trader ... ok [INFO] [stdout] test compute_yields_includes_trade_gold ... ok [INFO] [stdout] test assign_trade_route_fails_if_not_at_origin_city ... ok [INFO] [stdout] test assign_trade_route_sets_destination ... ok [INFO] [stdout] test trader_moves_autonomously_toward_destination ... ok [INFO] [stdout] test establish_route_domestic_yields ... ok [INFO] [stdout] test establish_route_international_yields ... ok [INFO] [stdout] test trader_auto_establishes_route_on_arrival ... ok [INFO] [stdout] test route_expires_after_30_turns ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running tests/victory.rs (/opt/rustwide/target/debug/deps/victory-a2ac374efabaf9a8) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test score_increases_with_cities_and_techs ... ok [INFO] [stdout] test all_scores_returns_both_civs_sorted ... ok [INFO] [stdout] test score_victory_winner_is_highest_scorer ... ok [INFO] [stdout] test scores_cover_both_civ_ids ... ok [INFO] [stdout] test score_victory_fires_at_turn_limit ... ok [INFO] [stdout] test score_victory_condition_name_in_delta ... ok [INFO] [stdout] test game_over_blocks_further_victory_evaluation ... ok [INFO] [stdout] test no_victory_conditions_game_never_ends ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/libhexgrid-e06176ed5c884b51) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test board::tests::board_module_compiles ... ok [INFO] [stdout] test coord::tests::test_hex_coord_arithmetic ... ok [INFO] [stdout] test coord::tests::test_hex_coord_invariant_enforced ... ok [INFO] [stdout] test coord::tests::test_hex_distance_symmetry ... ok [INFO] [stdout] test coord::tests::test_hex_distance_adjacent ... ok [INFO] [stdout] test coord::tests::test_neighbors_count ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/open4x-2faf970ae810bc4e) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/cli_integration.rs (/opt/rustwide/target/debug/deps/cli_integration-95fb863297e56e9f) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test view_returns_player_view ... ok [INFO] [stdout] test new_game_creates_valid_file ... ok [INFO] [stdout] test status_scores_returns_json ... ok [INFO] [stdout] test list_units_returns_json_array ... ok [INFO] [stdout] test end_turn_advances_game ... ok [INFO] [stdout] test multiplayer_both_must_end_turn ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s [INFO] [stdout] [INFO] [stderr] Running tests/remote_parity.rs (/opt/rustwide/target/debug/deps/remote_parity-6f93cc9a897a6a67) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test remote_action_unsupported_errors_cleanly ... ok [INFO] [stdout] test remote_parity_baseline ... ok [INFO] [stdout] test remote_parity_full_loop ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/open4x_client_web-94f4b5194ec6d718) [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/open4x_protocol-c453b88d2fa702ae) [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/wire_schema.rs (/opt/rustwide/target/debug/deps/wire_schema-99c814ced4323519) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test snapshot_mutation_response_unit ... ok [INFO] [stdout] test roundtrip_default_world_snapshot ... ok [INFO] [stdout] test snapshot_api_error_body ... ok [INFO] [stdout] test json_value_comparison_is_field_order_insensitive ... ok [INFO] [stdout] test roundtrip_default_player_state ... ok [INFO] [stdout] test snapshot_game_view ... ok [INFO] [stdout] test snapshot_world_snapshot ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/open4x_sdk-a954bf1ff963acc0) [INFO] [stdout] test snapshot_player_state ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test error::tests::from_response_falls_back_for_non_json ... ok [INFO] [stdout] test error::tests::transport_uses_zero_status ... ok [INFO] [stdout] test error::tests::from_response_handles_partial_body ... ok [INFO] [stdout] test error::tests::from_response_decodes_structured_body ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/native_roundtrip.rs (/opt/rustwide/target/debug/deps/native_roundtrip-c2200d04384f29ae) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test health_round_trip ... ok [INFO] [stdout] test cities_list_units_list_and_diplomacy_round_trip ... ok [INFO] [stdout] test government_change_rejects_unknown_with_structured_error ... ok [INFO] [stdout] test games_new_mints_token_and_player_state_uses_it ... ok [INFO] [stdout] test end_turn_blocks_when_required_action_pending ... ok [INFO] [stdout] test unauthenticated_endpoint_returns_structured_error ... ok [INFO] [stdout] test world_snapshot_returns_tiles_and_dimensions ... ok [INFO] [stdout] test city_mutations_round_trip ... ok [INFO] [stdout] test tech_cancel_is_idempotent ... ok [INFO] [stdout] test tech_get_and_research_and_end_turn_advance ... ok [INFO] [stdout] test smoke_remaining_endpoints_all_return_2xx ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running tests/wasm_smoke.rs (/opt/rustwide/target/debug/deps/wasm_smoke-8d91da2e9bb3aa2f) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/open4x_server-bcde0d97300afdbf) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test server::web_projection::tests::cities_projector_includes_owner_and_queue ... ok [INFO] [stdout] test server::web_projection::tests::player_state_projects_yields_and_strategic_resources ... ok [INFO] [stdout] test server::web_projection::tests::units_projector_emits_action_set ... ok [INFO] [stdout] test server::web_projection::tests::world_snapshot_topology_maps_to_wrap_flags ... ok [INFO] [stdout] test server::web_projection::tests::world_snapshot_radius_filters_tiles ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/open4x_server-61bc391ec687b1af) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/rest_api.rs (/opt/rustwide/target/debug/deps/rest_api-ea966bf961b7b86f) [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test cities_units_and_diplomacy_round_trip ... ok [INFO] [stdout] test city_focus_round_trip_persists_via_post_focus ... ok [INFO] [stdout] test end_turn_blocks_when_required_action_pending ... ok [INFO] [stdout] test cancel_civic_clears_active_and_is_idempotent ... ok [INFO] [stdout] test end_turn_advances_after_research_chosen ... ok [INFO] [stdout] test health_is_unauthenticated ... ok [INFO] [stdout] test government_catalogue_lists_engine_registered_policies_as_locked ... ok [INFO] [stdout] test city_rename_round_trip_persists_via_post_rename ... ok [INFO] [stdout] test games_new_mints_token_and_player_state_uses_it ... ok [INFO] [stdout] test turn_queue_lists_required_choose_research_on_fresh_game ... ok [INFO] [stdout] test units_actions_are_engine_derived_and_role_specific ... ok [INFO] [stdout] test unauthenticated_endpoint_rejects_missing_token ... ok [INFO] [stdout] test victory_score_pct_is_engine_derived_not_zero ... ok [INFO] [stdout] test turn_queue_includes_civic_and_city_items_via_pending_actions ... ok [INFO] [stdout] test victory_includes_six_conditions_and_ranks_player ... ok [INFO] [stdout] test production_queue_and_cancel_round_trip ... ok [INFO] [stdout] test world_snapshot_returns_tiles_and_dimensions ... ok [INFO] [stdout] test change_government_rejects_unknown_and_locked_then_succeeds_when_unlocked ... ok [INFO] [stdout] test cancel_research_drops_active_tech_and_is_idempotent ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s [INFO] [stdout] [INFO] [stderr] Doc-tests libciv [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test libciv/src/lib.rs - (line 25) - compile ... ok [INFO] [stdout] test libciv/src/lib.rs - (line 35) - compile ... ok [INFO] [stdout] test libciv/src/rl/mod.rs - rl (line 8) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.61s; merged doctests compilation took 0.59s [INFO] [stderr] Doc-tests libhexgrid [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests open4x_client_web [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests open4x_protocol [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests open4x_sdk [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests open4x_server [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5", kill_on_drop: false }` [INFO] [stdout] 032931f5a8b368cae4fa8e07d0598261122319de5ff17748b958b55e7eae38d5