[INFO] cloning repository https://github.com/dfb159/scythe_bot [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dfb159/scythe_bot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdfb159%2Fscythe_bot", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdfb159%2Fscythe_bot'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bb8914590aee5985810a03ebf2cfdf46c7005017 [INFO] testing dfb159/scythe_bot against try#17092ad00ed8fe1e7f81a7e38238ff70779034b1 for pr-140985 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdfb159%2Fscythe_bot" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dfb159/scythe_bot on toolchain 17092ad00ed8fe1e7f81a7e38238ff70779034b1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dfb159/scythe_bot [INFO] finished tweaking git repo https://github.com/dfb159/scythe_bot [INFO] tweaked toml for git repo https://github.com/dfb159/scythe_bot written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/dfb159/scythe_bot already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] testing dfb159/scythe_bot against try#17092ad00ed8fe1e7f81a7e38238ff70779034b1 for pr-140985 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdfb159%2Fscythe_bot" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dfb159/scythe_bot on toolchain 17092ad00ed8fe1e7f81a7e38238ff70779034b1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dfb159/scythe_bot [INFO] finished tweaking git repo https://github.com/dfb159/scythe_bot [INFO] tweaked toml for git repo https://github.com/dfb159/scythe_bot written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/dfb159/scythe_bot already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9cfce4268e1b7680fd69483e2a0dbedf36492d7b27efbe4e0cf90520b964283f [INFO] running `Command { std: "docker" "start" "-a" "9cfce4268e1b7680fd69483e2a0dbedf36492d7b27efbe4e0cf90520b964283f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9cfce4268e1b7680fd69483e2a0dbedf36492d7b27efbe4e0cf90520b964283f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9cfce4268e1b7680fd69483e2a0dbedf36492d7b27efbe4e0cf90520b964283f", kill_on_drop: false }` [INFO] [stdout] 9cfce4268e1b7680fd69483e2a0dbedf36492d7b27efbe4e0cf90520b964283f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 443f2aefb6059cef6095ba3a7dd263bf20947d0088d740a2c6fa7b68651c6c44 [INFO] running `Command { std: "docker" "start" "-a" "443f2aefb6059cef6095ba3a7dd263bf20947d0088d740a2c6fa7b68651c6c44", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling matrixmultiply v0.3.8 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling crossbeam-deque v0.8.5 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling ndarray v0.15.6 [INFO] [stderr] Compiling scythe_bot v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `random::RandomAgent` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | random::RandomAgent, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PredictiveQAgent` is never constructed [INFO] [stdout] --> src/agent/fcnn.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) struct PredictiveQAgent<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `predict`, `train`, and `max_turn` are never used [INFO] [stdout] --> src/agent/fcnn.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 16 | impl PredictiveQAgent<'_> { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 17 | pub(crate) fn new(hidden: usize, layout: Layout) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub(crate) fn predict(&self, state: &PlayerState) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub(crate) fn train(&mut self, state: &PlayerState, gamma: f64, learning_rate: f64) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn max_turn(&mut self, state: &PlayerState) -> (TurnMask, f64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Layout` is never used [INFO] [stdout] --> src/agent/fcnn.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | pub(crate) enum Layout { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VECTOR_SIZE` is never used [INFO] [stdout] --> src/agent/fcnn.rs:95:7 [INFO] [stdout] | [INFO] [stdout] 95 | const VECTOR_SIZE: usize = 65; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `transform_state` is never used [INFO] [stdout] --> src/agent/fcnn.rs:97:4 [INFO] [stdout] | [INFO] [stdout] 97 | fn transform_state(state: &PlayerState) -> Array1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RandomAgent` is never constructed [INFO] [stdout] --> src/agent/random.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 20 | pub(crate) struct RandomAgent { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `choose_primary`, `choose_secondary`, and `move_tile` are never used [INFO] [stdout] --> src/agent/random.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 23 | impl RandomAgent { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 24 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn choose_primary(&mut self, state: &PlayerState) -> Primary { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn choose_secondary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | fn move_tile(&self, tile: Tile) -> (Tile, Tile) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOCATIONS` is never used [INFO] [stdout] --> src/agent/random.rs:297:7 [INFO] [stdout] | [INFO] [stdout] 297 | const LOCATIONS: [Tile; 5] = [ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/campaign/mod.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct Player<'a> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 8 | pub(crate) name: &'a str, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Player` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `starting_index` are never read [INFO] [stdout] --> src/campaign/mod.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 25 | pub(crate) struct PlayerMat<'a> { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 26 | pub(crate) name: &'a str, [INFO] [stdout] | ^^^^ [INFO] [stdout] 27 | pub(crate) starting_index: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerMat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Produce2` and `Produce3` are never constructed [INFO] [stdout] --> src/game/turnmask.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub(crate) enum Produce { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 29 | Produce1(Tile), [INFO] [stdout] 30 | Produce2(Tile, Tile), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 31 | Produce3(Tile, Tile, Tile), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Produce` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_actions` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn get_actions(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_primaries` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn get_primaries(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_secondaries` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn get_secondaries(state: &PlayerState, secondary: SecondaryAction) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_enlists` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn get_enlists(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_builds` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn get_builds(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_deploys` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn get_deploys(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRIMARY_UPGRADES` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:137:7 [INFO] [stdout] | [INFO] [stdout] 137 | const PRIMARY_UPGRADES: [PrimaryUpgrade; 6] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SECONDARY_UPGRADES` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:146:7 [INFO] [stdout] | [INFO] [stdout] 146 | const SECONDARY_UPGRADES: [SecondaryUpgrade; 4] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_upgrades` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | fn get_upgrades(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_moves` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:173:4 [INFO] [stdout] | [INFO] [stdout] 173 | fn get_moves(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TILES` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:214:7 [INFO] [stdout] | [INFO] [stdout] 214 | const TILES: [Tile; 5] = [ [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_produces` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:222:4 [INFO] [stdout] | [INFO] [stdout] 222 | fn get_produces(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_trades` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:253:4 [INFO] [stdout] | [INFO] [stdout] 253 | fn get_trades() -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `has_won` is never used [INFO] [stdout] --> src/game_state/mod.rs:89:19 [INFO] [stdout] | [INFO] [stdout] 43 | impl PlayerState { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub(crate) fn has_won(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `can_build` is never used [INFO] [stdout] --> src/game_state/buildings.rs:50:19 [INFO] [stdout] | [INFO] [stdout] 15 | impl BuildingsState { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn can_build(&self, building: Building) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `can_deploy` is never used [INFO] [stdout] --> src/game_state/mechs.rs:47:19 [INFO] [stdout] | [INFO] [stdout] 12 | impl MechsState { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | pub(crate) fn can_deploy(&self, mech: Mech) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `can_recruit` and `is_onetime_recruited` are never used [INFO] [stdout] --> src/game_state/recruits.rs:77:19 [INFO] [stdout] | [INFO] [stdout] 18 | impl RecruitsState { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 77 | pub(crate) fn can_recruit(&self, secondary: Recruit, onetime: Recruit) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub(crate) fn is_onetime_recruited(&self, onetime: Recruit) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `can_upgrade`, `can_upgrade_primary`, and `can_upgrade_secondary` are never used [INFO] [stdout] --> src/game_state/upgrades.rs:112:19 [INFO] [stdout] | [INFO] [stdout] 31 | impl UpgradesState { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 112 | pub(crate) fn can_upgrade( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub(crate) fn can_upgrade_primary(&self, primary: &PrimaryUpgrade) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub(crate) fn can_upgrade_secondary(&self, secondary: &SecondaryUpgrade) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MathFn` is never used [INFO] [stdout] --> src/network/fcnn.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type MathFn = fn(f64) -> f64; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MathFnClosure` is never used [INFO] [stdout] --> src/network/fcnn.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type MathFnClosure<'a> = Box f64 + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MLFunction` is never used [INFO] [stdout] --> src/network/fcnn.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) enum MLFunction<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_fn_pair` is never used [INFO] [stdout] --> src/network/fcnn.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 16 | impl<'a> MLFunction<'a> { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 17 | fn as_fn_pair(&self) -> (MathFnClosure, MathFnClosure) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sigmoid` is never used [INFO] [stdout] --> src/network/fcnn.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn sigmoid(x: f64) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tanh_norm` is never used [INFO] [stdout] --> src/network/fcnn.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn tanh_norm(x: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `relu` is never used [INFO] [stdout] --> src/network/fcnn.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn relu(x: f64) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `leaky_relu` is never used [INFO] [stdout] --> src/network/fcnn.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn leaky_relu(x: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `elu` is never used [INFO] [stdout] --> src/network/fcnn.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn elu(x: f64) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FCNN` is never constructed [INFO] [stdout] --> src/network/fcnn.rs:76:19 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct FCNN<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `new_softmax` are never used [INFO] [stdout] --> src/network/fcnn.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 83 | impl<'a> FCNN<'a> { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 84 | pub fn new(heights: Vec, output_func: &'a MLFunction<'a>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn new_softmax(heights: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Predictor` is never used [INFO] [stdout] --> src/network/fcnn.rs:110:18 [INFO] [stdout] | [INFO] [stdout] 110 | pub(crate) trait Predictor { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Trainer` is never used [INFO] [stdout] --> src/network/fcnn.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | pub(crate) trait Trainer { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `J` should have a snake case name [INFO] [stdout] --> src/network/fcnn.rs:155:18 [INFO] [stdout] | [INFO] [stdout] 155 | let (J, K) = self.weights[i].dim(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `j` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `K` should have a snake case name [INFO] [stdout] --> src/network/fcnn.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 155 | let (J, K) = self.weights[i].dim(); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `k` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.22s [INFO] running `Command { std: "docker" "inspect" "443f2aefb6059cef6095ba3a7dd263bf20947d0088d740a2c6fa7b68651c6c44", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "443f2aefb6059cef6095ba3a7dd263bf20947d0088d740a2c6fa7b68651c6c44", kill_on_drop: false }` [INFO] [stdout] 443f2aefb6059cef6095ba3a7dd263bf20947d0088d740a2c6fa7b68651c6c44 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 189f49b04f8f12875871c895e59460d4e9183ae4290b5e4f6eee69626f89305c [INFO] running `Command { std: "docker" "start" "-a" "189f49b04f8f12875871c895e59460d4e9183ae4290b5e4f6eee69626f89305c", kill_on_drop: false }` [INFO] [stderr] Compiling scythe_bot v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `random::RandomAgent` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | random::RandomAgent, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PredictiveQAgent` is never constructed [INFO] [stdout] --> src/agent/fcnn.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) struct PredictiveQAgent<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `predict`, `train`, and `max_turn` are never used [INFO] [stdout] --> src/agent/fcnn.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 16 | impl PredictiveQAgent<'_> { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 17 | pub(crate) fn new(hidden: usize, layout: Layout) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub(crate) fn predict(&self, state: &PlayerState) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub(crate) fn train(&mut self, state: &PlayerState, gamma: f64, learning_rate: f64) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn max_turn(&mut self, state: &PlayerState) -> (TurnMask, f64) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Layout` is never used [INFO] [stdout] --> src/agent/fcnn.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | pub(crate) enum Layout { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VECTOR_SIZE` is never used [INFO] [stdout] --> src/agent/fcnn.rs:95:7 [INFO] [stdout] | [INFO] [stdout] 95 | const VECTOR_SIZE: usize = 65; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `transform_state` is never used [INFO] [stdout] --> src/agent/fcnn.rs:97:4 [INFO] [stdout] | [INFO] [stdout] 97 | fn transform_state(state: &PlayerState) -> Array1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RandomAgent` is never constructed [INFO] [stdout] --> src/agent/random.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 20 | pub(crate) struct RandomAgent { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `choose_primary`, `choose_secondary`, and `move_tile` are never used [INFO] [stdout] --> src/agent/random.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 23 | impl RandomAgent { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 24 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn choose_primary(&mut self, state: &PlayerState) -> Primary { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn choose_secondary( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | fn move_tile(&self, tile: Tile) -> (Tile, Tile) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOCATIONS` is never used [INFO] [stdout] --> src/agent/random.rs:297:7 [INFO] [stdout] | [INFO] [stdout] 297 | const LOCATIONS: [Tile; 5] = [ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/campaign/mod.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct Player<'a> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 8 | pub(crate) name: &'a str, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Player` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `starting_index` are never read [INFO] [stdout] --> src/campaign/mod.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 25 | pub(crate) struct PlayerMat<'a> { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 26 | pub(crate) name: &'a str, [INFO] [stdout] | ^^^^ [INFO] [stdout] 27 | pub(crate) starting_index: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerMat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Produce2` and `Produce3` are never constructed [INFO] [stdout] --> src/game/turnmask.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub(crate) enum Produce { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 29 | Produce1(Tile), [INFO] [stdout] 30 | Produce2(Tile, Tile), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 31 | Produce3(Tile, Tile, Tile), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Produce` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_actions` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | pub(crate) fn get_actions(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_primaries` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn get_primaries(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_secondaries` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:50:4 [INFO] [stdout] | [INFO] [stdout] 50 | fn get_secondaries(state: &PlayerState, secondary: SecondaryAction) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_enlists` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn get_enlists(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_builds` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn get_builds(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_deploys` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:120:4 [INFO] [stdout] | [INFO] [stdout] 120 | fn get_deploys(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRIMARY_UPGRADES` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:137:7 [INFO] [stdout] | [INFO] [stdout] 137 | const PRIMARY_UPGRADES: [PrimaryUpgrade; 6] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SECONDARY_UPGRADES` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:146:7 [INFO] [stdout] | [INFO] [stdout] 146 | const SECONDARY_UPGRADES: [SecondaryUpgrade; 4] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_upgrades` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | fn get_upgrades(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_moves` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:173:4 [INFO] [stdout] | [INFO] [stdout] 173 | fn get_moves(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TILES` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:214:7 [INFO] [stdout] | [INFO] [stdout] 214 | const TILES: [Tile; 5] = [ [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_produces` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:222:4 [INFO] [stdout] | [INFO] [stdout] 222 | fn get_produces(state: &PlayerState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_trades` is never used [INFO] [stdout] --> src/game/turnpredictor.rs:253:4 [INFO] [stdout] | [INFO] [stdout] 253 | fn get_trades() -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `has_won` is never used [INFO] [stdout] --> src/game_state/mod.rs:89:19 [INFO] [stdout] | [INFO] [stdout] 43 | impl PlayerState { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub(crate) fn has_won(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `can_build` is never used [INFO] [stdout] --> src/game_state/buildings.rs:50:19 [INFO] [stdout] | [INFO] [stdout] 15 | impl BuildingsState { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn can_build(&self, building: Building) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `can_deploy` is never used [INFO] [stdout] --> src/game_state/mechs.rs:47:19 [INFO] [stdout] | [INFO] [stdout] 12 | impl MechsState { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | pub(crate) fn can_deploy(&self, mech: Mech) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `can_recruit` and `is_onetime_recruited` are never used [INFO] [stdout] --> src/game_state/recruits.rs:77:19 [INFO] [stdout] | [INFO] [stdout] 18 | impl RecruitsState { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 77 | pub(crate) fn can_recruit(&self, secondary: Recruit, onetime: Recruit) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub(crate) fn is_onetime_recruited(&self, onetime: Recruit) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `can_upgrade`, `can_upgrade_primary`, and `can_upgrade_secondary` are never used [INFO] [stdout] --> src/game_state/upgrades.rs:112:19 [INFO] [stdout] | [INFO] [stdout] 31 | impl UpgradesState { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 112 | pub(crate) fn can_upgrade( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub(crate) fn can_upgrade_primary(&self, primary: &PrimaryUpgrade) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub(crate) fn can_upgrade_secondary(&self, secondary: &SecondaryUpgrade) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MathFn` is never used [INFO] [stdout] --> src/network/fcnn.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type MathFn = fn(f64) -> f64; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MathFnClosure` is never used [INFO] [stdout] --> src/network/fcnn.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type MathFnClosure<'a> = Box f64 + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MLFunction` is never used [INFO] [stdout] --> src/network/fcnn.rs:6:17 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) enum MLFunction<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_fn_pair` is never used [INFO] [stdout] --> src/network/fcnn.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 16 | impl<'a> MLFunction<'a> { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] 17 | fn as_fn_pair(&self) -> (MathFnClosure, MathFnClosure) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sigmoid` is never used [INFO] [stdout] --> src/network/fcnn.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn sigmoid(x: f64) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tanh_norm` is never used [INFO] [stdout] --> src/network/fcnn.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn tanh_norm(x: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `relu` is never used [INFO] [stdout] --> src/network/fcnn.rs:56:4 [INFO] [stdout] | [INFO] [stdout] 56 | fn relu(x: f64) -> f64 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `leaky_relu` is never used [INFO] [stdout] --> src/network/fcnn.rs:60:4 [INFO] [stdout] | [INFO] [stdout] 60 | fn leaky_relu(x: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `elu` is never used [INFO] [stdout] --> src/network/fcnn.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn elu(x: f64) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FCNN` is never constructed [INFO] [stdout] --> src/network/fcnn.rs:76:19 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) struct FCNN<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `new_softmax` are never used [INFO] [stdout] --> src/network/fcnn.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 83 | impl<'a> FCNN<'a> { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 84 | pub fn new(heights: Vec, output_func: &'a MLFunction<'a>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn new_softmax(heights: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Predictor` is never used [INFO] [stdout] --> src/network/fcnn.rs:110:18 [INFO] [stdout] | [INFO] [stdout] 110 | pub(crate) trait Predictor { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Trainer` is never used [INFO] [stdout] --> src/network/fcnn.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | pub(crate) trait Trainer { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `J` should have a snake case name [INFO] [stdout] --> src/network/fcnn.rs:155:18 [INFO] [stdout] | [INFO] [stdout] 155 | let (J, K) = self.weights[i].dim(); [INFO] [stdout] | ^ help: convert the identifier to snake case: `j` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `K` should have a snake case name [INFO] [stdout] --> src/network/fcnn.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 155 | let (J, K) = self.weights[i].dim(); [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `k` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.55s [INFO] running `Command { std: "docker" "inspect" "189f49b04f8f12875871c895e59460d4e9183ae4290b5e4f6eee69626f89305c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "189f49b04f8f12875871c895e59460d4e9183ae4290b5e4f6eee69626f89305c", kill_on_drop: false }` [INFO] [stdout] 189f49b04f8f12875871c895e59460d4e9183ae4290b5e4f6eee69626f89305c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a6675f0412a77a0b0a6056eae6fa50fde1d4d67b7fd62c43dcac13799565a8b9 [INFO] running `Command { std: "docker" "start" "-a" "a6675f0412a77a0b0a6056eae6fa50fde1d4d67b7fd62c43dcac13799565a8b9", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `random::RandomAgent` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | random::RandomAgent, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct `PredictiveQAgent` is never constructed [INFO] [stderr] --> src/agent/fcnn.rs:12:19 [INFO] [stderr] | [INFO] [stderr] 12 | pub(crate) struct PredictiveQAgent<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `predict`, `train`, and `max_turn` are never used [INFO] [stderr] --> src/agent/fcnn.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 16 | impl PredictiveQAgent<'_> { [INFO] [stderr] | ------------------------- associated items in this implementation [INFO] [stderr] 17 | pub(crate) fn new(hidden: usize, layout: Layout) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 40 | pub(crate) fn predict(&self, state: &PlayerState) -> f64 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 46 | pub(crate) fn train(&mut self, state: &PlayerState, gamma: f64, learning_rate: f64) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 61 | fn max_turn(&mut self, state: &PlayerState) -> (TurnMask, f64) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Layout` is never used [INFO] [stderr] --> src/agent/fcnn.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | pub(crate) enum Layout { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `VECTOR_SIZE` is never used [INFO] [stderr] --> src/agent/fcnn.rs:95:7 [INFO] [stderr] | [INFO] [stderr] 95 | const VECTOR_SIZE: usize = 65; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `transform_state` is never used [INFO] [stderr] --> src/agent/fcnn.rs:97:4 [INFO] [stderr] | [INFO] [stderr] 97 | fn transform_state(state: &PlayerState) -> Array1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `RandomAgent` is never constructed [INFO] [stderr] --> src/agent/random.rs:20:19 [INFO] [stderr] | [INFO] [stderr] 20 | pub(crate) struct RandomAgent { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `choose_primary`, `choose_secondary`, and `move_tile` are never used [INFO] [stderr] --> src/agent/random.rs:24:19 [INFO] [stderr] | [INFO] [stderr] 23 | impl RandomAgent { [INFO] [stderr] | ---------------- associated items in this implementation [INFO] [stderr] 24 | pub(crate) fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 30 | fn choose_primary(&mut self, state: &PlayerState) -> Primary { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 135 | fn choose_secondary( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 275 | fn move_tile(&self, tile: Tile) -> (Tile, Tile) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `LOCATIONS` is never used [INFO] [stderr] --> src/agent/random.rs:297:7 [INFO] [stderr] | [INFO] [stderr] 297 | const LOCATIONS: [Tile; 5] = [ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `name` is never read [INFO] [stderr] --> src/campaign/mod.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 7 | pub(crate) struct Player<'a> { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] 8 | pub(crate) name: &'a str, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Player` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `name` and `starting_index` are never read [INFO] [stderr] --> src/campaign/mod.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 25 | pub(crate) struct PlayerMat<'a> { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] 26 | pub(crate) name: &'a str, [INFO] [stderr] | ^^^^ [INFO] [stderr] 27 | pub(crate) starting_index: i32, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PlayerMat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variants `Produce2` and `Produce3` are never constructed [INFO] [stderr] --> src/game/turnmask.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub(crate) enum Produce { [INFO] [stderr] | ------- variants in this enum [INFO] [stderr] 29 | Produce1(Tile), [INFO] [stderr] 30 | Produce2(Tile, Tile), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 31 | Produce3(Tile, Tile, Tile), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Produce` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `get_actions` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:15:15 [INFO] [stderr] | [INFO] [stderr] 15 | pub(crate) fn get_actions(state: &PlayerState) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_primaries` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:32:4 [INFO] [stderr] | [INFO] [stderr] 32 | fn get_primaries(state: &PlayerState) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_secondaries` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:50:4 [INFO] [stderr] | [INFO] [stderr] 50 | fn get_secondaries(state: &PlayerState, secondary: SecondaryAction) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_enlists` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:59:4 [INFO] [stderr] | [INFO] [stderr] 59 | fn get_enlists(state: &PlayerState) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_builds` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:98:4 [INFO] [stderr] | [INFO] [stderr] 98 | fn get_builds(state: &PlayerState) -> Vec { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_deploys` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:120:4 [INFO] [stderr] | [INFO] [stderr] 120 | fn get_deploys(state: &PlayerState) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PRIMARY_UPGRADES` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:137:7 [INFO] [stderr] | [INFO] [stderr] 137 | const PRIMARY_UPGRADES: [PrimaryUpgrade; 6] = [ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SECONDARY_UPGRADES` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:146:7 [INFO] [stderr] | [INFO] [stderr] 146 | const SECONDARY_UPGRADES: [SecondaryUpgrade; 4] = [ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_upgrades` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:153:4 [INFO] [stderr] | [INFO] [stderr] 153 | fn get_upgrades(state: &PlayerState) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_moves` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:173:4 [INFO] [stderr] | [INFO] [stderr] 173 | fn get_moves(state: &PlayerState) -> Vec { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `TILES` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:214:7 [INFO] [stderr] | [INFO] [stderr] 214 | const TILES: [Tile; 5] = [ [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_produces` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:222:4 [INFO] [stderr] | [INFO] [stderr] 222 | fn get_produces(state: &PlayerState) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_trades` is never used [INFO] [stderr] --> src/game/turnpredictor.rs:253:4 [INFO] [stderr] | [INFO] [stderr] 253 | fn get_trades() -> Vec { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `has_won` is never used [INFO] [stderr] --> src/game_state/mod.rs:89:19 [INFO] [stderr] | [INFO] [stderr] 43 | impl PlayerState { [INFO] [stderr] | ---------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 89 | pub(crate) fn has_won(&self) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `can_build` is never used [INFO] [stderr] --> src/game_state/buildings.rs:50:19 [INFO] [stderr] | [INFO] [stderr] 15 | impl BuildingsState { [INFO] [stderr] | ------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 50 | pub(crate) fn can_build(&self, building: Building) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `can_deploy` is never used [INFO] [stderr] --> src/game_state/mechs.rs:47:19 [INFO] [stderr] | [INFO] [stderr] 12 | impl MechsState { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 47 | pub(crate) fn can_deploy(&self, mech: Mech) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `can_recruit` and `is_onetime_recruited` are never used [INFO] [stderr] --> src/game_state/recruits.rs:77:19 [INFO] [stderr] | [INFO] [stderr] 18 | impl RecruitsState { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 77 | pub(crate) fn can_recruit(&self, secondary: Recruit, onetime: Recruit) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 90 | pub(crate) fn is_onetime_recruited(&self, onetime: Recruit) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `can_upgrade`, `can_upgrade_primary`, and `can_upgrade_secondary` are never used [INFO] [stderr] --> src/game_state/upgrades.rs:112:19 [INFO] [stderr] | [INFO] [stderr] 31 | impl UpgradesState { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 112 | pub(crate) fn can_upgrade( [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 120 | pub(crate) fn can_upgrade_primary(&self, primary: &PrimaryUpgrade) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 131 | pub(crate) fn can_upgrade_secondary(&self, secondary: &SecondaryUpgrade) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `MathFn` is never used [INFO] [stderr] --> src/network/fcnn.rs:3:6 [INFO] [stderr] | [INFO] [stderr] 3 | type MathFn = fn(f64) -> f64; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias `MathFnClosure` is never used [INFO] [stderr] --> src/network/fcnn.rs:4:6 [INFO] [stderr] | [INFO] [stderr] 4 | type MathFnClosure<'a> = Box f64 + 'a>; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `MLFunction` is never used [INFO] [stderr] --> src/network/fcnn.rs:6:17 [INFO] [stderr] | [INFO] [stderr] 6 | pub(crate) enum MLFunction<'a> { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `as_fn_pair` is never used [INFO] [stderr] --> src/network/fcnn.rs:17:8 [INFO] [stderr] | [INFO] [stderr] 16 | impl<'a> MLFunction<'a> { [INFO] [stderr] | ----------------------- method in this implementation [INFO] [stderr] 17 | fn as_fn_pair(&self) -> (MathFnClosure, MathFnClosure) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `sigmoid` is never used [INFO] [stderr] --> src/network/fcnn.rs:48:4 [INFO] [stderr] | [INFO] [stderr] 48 | fn sigmoid(x: f64) -> f64 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `tanh_norm` is never used [INFO] [stderr] --> src/network/fcnn.rs:52:4 [INFO] [stderr] | [INFO] [stderr] 52 | fn tanh_norm(x: f64) -> f64 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `relu` is never used [INFO] [stderr] --> src/network/fcnn.rs:56:4 [INFO] [stderr] | [INFO] [stderr] 56 | fn relu(x: f64) -> f64 { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `leaky_relu` is never used [INFO] [stderr] --> src/network/fcnn.rs:60:4 [INFO] [stderr] | [INFO] [stderr] 60 | fn leaky_relu(x: f64) -> f64 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `elu` is never used [INFO] [stderr] --> src/network/fcnn.rs:68:4 [INFO] [stderr] | [INFO] [stderr] 68 | fn elu(x: f64) -> f64 { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `FCNN` is never constructed [INFO] [stderr] --> src/network/fcnn.rs:76:19 [INFO] [stderr] | [INFO] [stderr] 76 | pub(crate) struct FCNN<'a> { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `new` and `new_softmax` are never used [INFO] [stderr] --> src/network/fcnn.rs:84:12 [INFO] [stderr] | [INFO] [stderr] 83 | impl<'a> FCNN<'a> { [INFO] [stderr] | ----------------- associated functions in this implementation [INFO] [stderr] 84 | pub fn new(heights: Vec, output_func: &'a MLFunction<'a>) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 105 | pub fn new_softmax(heights: Vec) -> Self { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `Predictor` is never used [INFO] [stderr] --> src/network/fcnn.rs:110:18 [INFO] [stderr] | [INFO] [stderr] 110 | pub(crate) trait Predictor { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait `Trainer` is never used [INFO] [stderr] --> src/network/fcnn.rs:129:18 [INFO] [stderr] | [INFO] [stderr] 129 | pub(crate) trait Trainer { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `J` should have a snake case name [INFO] [stderr] --> src/network/fcnn.rs:155:18 [INFO] [stderr] | [INFO] [stderr] 155 | let (J, K) = self.weights[i].dim(); [INFO] [stderr] | ^ help: convert the identifier to snake case: `j` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `K` should have a snake case name [INFO] [stderr] --> src/network/fcnn.rs:155:21 [INFO] [stderr] | [INFO] [stderr] 155 | let (J, K) = self.weights[i].dim(); [INFO] [stderr] | ^ help: convert the identifier to snake case (notice the capitalization): `k` [INFO] [stderr] [INFO] [stderr] warning: `scythe_bot` (bin "scythe_bot" test) generated 45 warnings (run `cargo fix --bin "scythe_bot" --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/scythe_bot-8a66534d3996af94) [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" "a6675f0412a77a0b0a6056eae6fa50fde1d4d67b7fd62c43dcac13799565a8b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6675f0412a77a0b0a6056eae6fa50fde1d4d67b7fd62c43dcac13799565a8b9", kill_on_drop: false }` [INFO] [stdout] a6675f0412a77a0b0a6056eae6fa50fde1d4d67b7fd62c43dcac13799565a8b9