[INFO] cloning repository https://github.com/kyunghyunHan/reinforcement_learning [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kyunghyunHan/reinforcement_learning" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FkyunghyunHan%2Freinforcement_learning", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FkyunghyunHan%2Freinforcement_learning'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 78d2dcb0f795cb10721f74f3fbc1d5dbac830f9d [INFO] testing kyunghyunHan/reinforcement_learning against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FkyunghyunHan%2Freinforcement_learning" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/kyunghyunHan/reinforcement_learning [INFO] finished tweaking git repo https://github.com/kyunghyunHan/reinforcement_learning [INFO] tweaked toml for git repo https://github.com/kyunghyunHan/reinforcement_learning written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/kyunghyunHan/reinforcement_learning on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/kyunghyunHan/reinforcement_learning 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fe84934d52884020cb11dfb3d838b5574ea5579abf324e4cf58e0eb5317452e8 [INFO] running `Command { std: "docker" "start" "-a" "fe84934d52884020cb11dfb3d838b5574ea5579abf324e4cf58e0eb5317452e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fe84934d52884020cb11dfb3d838b5574ea5579abf324e4cf58e0eb5317452e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fe84934d52884020cb11dfb3d838b5574ea5579abf324e4cf58e0eb5317452e8", kill_on_drop: false }` [INFO] [stdout] fe84934d52884020cb11dfb3d838b5574ea5579abf324e4cf58e0eb5317452e8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cfb19fbb5ea014fb42d91d568551c9affcd9ef8bda281ac59bf6142a14c8f56b [INFO] running `Command { std: "docker" "start" "-a" "cfb19fbb5ea014fb42d91d568551c9affcd9ef8bda281ac59bf6142a14c8f56b", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.87 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling matrixmultiply v0.3.9 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.79 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling noisy_float v0.2.0 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling ndarray v0.16.1 [INFO] [stderr] Compiling ndarray v0.17.1 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling ndarray-stats v0.6.0 [INFO] [stderr] Compiling rl_rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ndarray::s` [INFO] [stdout] --> src/model_free/bandit.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use ndarray::s; [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: `Array2` [INFO] [stdout] --> src/model_free/bandit.rs:11:23 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::{Array1, Array2}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model_free::bandit` [INFO] [stdout] --> src/model_free/bandit.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::model_free::bandit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread::yield_now` [INFO] [stdout] --> src/model_free/grid_word.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{collections::HashMap, thread::yield_now}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/model_free/bandit.rs:30:29 [INFO] [stdout] | [INFO] [stdout] 30 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/model_free/bandit.rs:60:29 [INFO] [stdout] | [INFO] [stdout] 60 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/q_learning.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::thread_rng; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/q_learning.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 42 | let mut rng = thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:25:57 [INFO] [stdout] | [INFO] [stdout] 25 | let rates = Array1::from_shape_fn(arms, |_| rng.gen_range(0.0..1.0)); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:33:23 [INFO] [stdout] | [INFO] [stdout] 33 | if rate > rng.gen_range(0.0..1.0) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:61:37 [INFO] [stdout] | [INFO] [stdout] 61 | let random_value: f64 = rng.gen_range(0.0..1.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | rng.gen_range(0..self.qs.len()) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:117:31 [INFO] [stdout] | [INFO] [stdout] 117 | let reward: f64 = rng.gen_range(0.0..1.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:133:31 [INFO] [stdout] | [INFO] [stdout] 133 | let reward: f64 = rng.gen_range(0.0..1.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024. [INFO] [stdout] --> src/q_learning.rs:49:33 [INFO] [stdout] | [INFO] [stdout] 49 | let action = if rng.gen::() < epsilon { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/model_free/bandit.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | for i in 0..3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model_free/bandit.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | let mut bandit = Bandit::new(20); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model_free/dynamic_programming.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut new_v = v.clone(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_v` [INFO] [stdout] --> src/model_free/dynamic_programming.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut new_v = v.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/model_free/bandit.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn test() { [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 `test2` is never used [INFO] [stdout] --> src/model_free/bandit.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn test2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test3` is never used [INFO] [stdout] --> src/model_free/bandit.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn test3() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Action` is never used [INFO] [stdout] --> src/model_free/grid_word.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | enum Action { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_u32` and `to_str` are never used [INFO] [stdout] --> src/model_free/grid_word.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl Action { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 12 | fn from_u32(value: u32) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fn to_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `action_meaning`, `goal_state`, `wall_state`, `start_state`, and `agent_state` are never read [INFO] [stdout] --> src/model_free/grid_word.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 32 | struct GridWorld { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 33 | action_space: Array1, [INFO] [stdout] 34 | action_meaning: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 35 | reward_map: Array2>, [INFO] [stdout] 36 | goal_state: (i32, i32), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 37 | wall_state: (i32, i32), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 38 | start_state: (i32, i32), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 39 | agent_state: (i32, i32), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GridWorld` 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: struct `Meaning` is never constructed [INFO] [stdout] --> src/model_free/grid_word.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct Meaning { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `dynamic_programming`, `grid_word`, and `q_learning` [INFO] [stdout] --> src/main.rs:1:34 [INFO] [stdout] | [INFO] [stdout] 1 | use rl_rs::{model_free::{bandit, dynamic_programming,grid_word}, q_learning}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.49s [INFO] running `Command { std: "docker" "inspect" "cfb19fbb5ea014fb42d91d568551c9affcd9ef8bda281ac59bf6142a14c8f56b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cfb19fbb5ea014fb42d91d568551c9affcd9ef8bda281ac59bf6142a14c8f56b", kill_on_drop: false }` [INFO] [stdout] cfb19fbb5ea014fb42d91d568551c9affcd9ef8bda281ac59bf6142a14c8f56b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bdf9e4364a8d82a056f3f4798e30f4b71079fac60719e7984ddb5f69ec1e859c [INFO] running `Command { std: "docker" "start" "-a" "bdf9e4364a8d82a056f3f4798e30f4b71079fac60719e7984ddb5f69ec1e859c", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `ndarray::s` [INFO] [stdout] --> src/model_free/bandit.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use ndarray::s; [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: `Array2` [INFO] [stdout] --> src/model_free/bandit.rs:11:23 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::{Array1, Array2}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model_free::bandit` [INFO] [stdout] --> src/model_free/bandit.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::model_free::bandit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread::yield_now` [INFO] [stdout] --> src/model_free/grid_word.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{collections::HashMap, thread::yield_now}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/model_free/bandit.rs:30:29 [INFO] [stdout] | [INFO] [stdout] 30 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/model_free/bandit.rs:60:29 [INFO] [stdout] | [INFO] [stdout] 60 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/q_learning.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::thread_rng; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/q_learning.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 42 | let mut rng = thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:25:57 [INFO] [stdout] | [INFO] [stdout] 25 | let rates = Array1::from_shape_fn(arms, |_| rng.gen_range(0.0..1.0)); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:33:23 [INFO] [stdout] | [INFO] [stdout] 33 | if rate > rng.gen_range(0.0..1.0) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:61:37 [INFO] [stdout] | [INFO] [stdout] 61 | let random_value: f64 = rng.gen_range(0.0..1.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | rng.gen_range(0..self.qs.len()) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:117:31 [INFO] [stdout] | [INFO] [stdout] 117 | let reward: f64 = rng.gen_range(0.0..1.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:133:31 [INFO] [stdout] | [INFO] [stdout] 133 | let reward: f64 = rng.gen_range(0.0..1.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024. [INFO] [stdout] --> src/q_learning.rs:49:33 [INFO] [stdout] | [INFO] [stdout] 49 | let action = if rng.gen::() < epsilon { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/model_free/bandit.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | for i in 0..3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rl_rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model_free/bandit.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | let mut bandit = Bandit::new(20); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model_free/dynamic_programming.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut new_v = v.clone(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_v` [INFO] [stdout] --> src/model_free/dynamic_programming.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut new_v = v.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/model_free/bandit.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn test() { [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 `test2` is never used [INFO] [stdout] --> src/model_free/bandit.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn test2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test3` is never used [INFO] [stdout] --> src/model_free/bandit.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn test3() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Action` is never used [INFO] [stdout] --> src/model_free/grid_word.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | enum Action { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_u32` and `to_str` are never used [INFO] [stdout] --> src/model_free/grid_word.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl Action { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 12 | fn from_u32(value: u32) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fn to_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `action_meaning`, `goal_state`, `wall_state`, `start_state`, and `agent_state` are never read [INFO] [stdout] --> src/model_free/grid_word.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 32 | struct GridWorld { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 33 | action_space: Array1, [INFO] [stdout] 34 | action_meaning: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 35 | reward_map: Array2>, [INFO] [stdout] 36 | goal_state: (i32, i32), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 37 | wall_state: (i32, i32), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 38 | start_state: (i32, i32), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 39 | agent_state: (i32, i32), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GridWorld` 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: struct `Meaning` is never constructed [INFO] [stdout] --> src/model_free/grid_word.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct Meaning { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray::s` [INFO] [stdout] --> src/model_free/bandit.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use ndarray::s; [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: `Array2` [INFO] [stdout] --> src/model_free/bandit.rs:11:23 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::{Array1, Array2}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model_free::bandit` [INFO] [stdout] --> src/model_free/bandit.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::model_free::bandit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread::yield_now` [INFO] [stdout] --> src/model_free/grid_word.rs:2:33 [INFO] [stdout] | [INFO] [stdout] 2 | use std::{collections::HashMap, thread::yield_now}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/model_free/bandit.rs:30:29 [INFO] [stdout] | [INFO] [stdout] 30 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/model_free/bandit.rs:60:29 [INFO] [stdout] | [INFO] [stdout] 60 | let mut rng = rand::thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/q_learning.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::thread_rng; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stdout] --> src/q_learning.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 42 | let mut rng = thread_rng(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `dynamic_programming`, `grid_word`, and `q_learning` [INFO] [stdout] --> src/main.rs:1:34 [INFO] [stdout] | [INFO] [stdout] 1 | use rl_rs::{model_free::{bandit, dynamic_programming,grid_word}, q_learning}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:25:57 [INFO] [stdout] | [INFO] [stdout] 25 | let rates = Array1::from_shape_fn(arms, |_| rng.gen_range(0.0..1.0)); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:33:23 [INFO] [stdout] | [INFO] [stdout] 33 | if rate > rng.gen_range(0.0..1.0) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:61:37 [INFO] [stdout] | [INFO] [stdout] 61 | let random_value: f64 = rng.gen_range(0.0..1.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | rng.gen_range(0..self.qs.len()) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:117:31 [INFO] [stdout] | [INFO] [stdout] 117 | let reward: f64 = rng.gen_range(0.0..1.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stdout] --> src/model_free/bandit.rs:133:31 [INFO] [stdout] | [INFO] [stdout] 133 | let reward: f64 = rng.gen_range(0.0..1.0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024. [INFO] [stdout] --> src/q_learning.rs:49:33 [INFO] [stdout] | [INFO] [stdout] 49 | let action = if rng.gen::() < epsilon { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/model_free/bandit.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | for i in 0..3 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model_free/bandit.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | let mut bandit = Bandit::new(20); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model_free/dynamic_programming.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut new_v = v.clone(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_v` [INFO] [stdout] --> src/model_free/dynamic_programming.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut new_v = v.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test` is never used [INFO] [stdout] --> src/model_free/bandit.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn test() { [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 `test2` is never used [INFO] [stdout] --> src/model_free/bandit.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn test2() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test3` is never used [INFO] [stdout] --> src/model_free/bandit.rs:142:4 [INFO] [stdout] | [INFO] [stdout] 142 | fn test3() { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Action` is never used [INFO] [stdout] --> src/model_free/grid_word.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | enum Action { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_u32` and `to_str` are never used [INFO] [stdout] --> src/model_free/grid_word.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 11 | impl Action { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 12 | fn from_u32(value: u32) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fn to_str(&self) -> &'static str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `action_meaning`, `goal_state`, `wall_state`, `start_state`, and `agent_state` are never read [INFO] [stdout] --> src/model_free/grid_word.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 32 | struct GridWorld { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 33 | action_space: Array1, [INFO] [stdout] 34 | action_meaning: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 35 | reward_map: Array2>, [INFO] [stdout] 36 | goal_state: (i32, i32), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 37 | wall_state: (i32, i32), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 38 | start_state: (i32, i32), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 39 | agent_state: (i32, i32), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GridWorld` 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: struct `Meaning` is never constructed [INFO] [stdout] --> src/model_free/grid_word.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | struct Meaning { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.44s [INFO] running `Command { std: "docker" "inspect" "bdf9e4364a8d82a056f3f4798e30f4b71079fac60719e7984ddb5f69ec1e859c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bdf9e4364a8d82a056f3f4798e30f4b71079fac60719e7984ddb5f69ec1e859c", kill_on_drop: false }` [INFO] [stdout] bdf9e4364a8d82a056f3f4798e30f4b71079fac60719e7984ddb5f69ec1e859c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] a35d02e52c38e6c1ccdcb00ce3872e124f24c1ad846dd1bb6bfda2d76d42d81e [INFO] running `Command { std: "docker" "start" "-a" "a35d02e52c38e6c1ccdcb00ce3872e124f24c1ad846dd1bb6bfda2d76d42d81e", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `ndarray::s` [INFO] [stderr] --> src/model_free/bandit.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use ndarray::s; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Array2` [INFO] [stderr] --> src/model_free/bandit.rs:11:23 [INFO] [stderr] | [INFO] [stderr] 11 | use ndarray::{Array1, Array2}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::model_free::bandit` [INFO] [stderr] --> src/model_free/bandit.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use crate::model_free::bandit; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `thread::yield_now` [INFO] [stderr] --> src/model_free/grid_word.rs:2:33 [INFO] [stderr] | [INFO] [stderr] 2 | use std::{collections::HashMap, thread::yield_now}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stderr] --> src/model_free/bandit.rs:30:29 [INFO] [stderr] | [INFO] [stderr] 30 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stderr] --> src/model_free/bandit.rs:60:29 [INFO] [stderr] | [INFO] [stderr] 60 | let mut rng = rand::thread_rng(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stderr] --> src/q_learning.rs:3:11 [INFO] [stderr] | [INFO] [stderr] 3 | use rand::thread_rng; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng` [INFO] [stderr] --> src/q_learning.rs:42:19 [INFO] [stderr] | [INFO] [stderr] 42 | let mut rng = thread_rng(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stderr] --> src/model_free/bandit.rs:25:57 [INFO] [stderr] | [INFO] [stderr] 25 | let rates = Array1::from_shape_fn(arms, |_| rng.gen_range(0.0..1.0)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stderr] --> src/model_free/bandit.rs:33:23 [INFO] [stderr] | [INFO] [stderr] 33 | if rate > rng.gen_range(0.0..1.0) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stderr] --> src/model_free/bandit.rs:61:37 [INFO] [stderr] | [INFO] [stderr] 61 | let random_value: f64 = rng.gen_range(0.0..1.0); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stderr] --> src/model_free/bandit.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | rng.gen_range(0..self.qs.len()) [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stderr] --> src/model_free/bandit.rs:117:31 [INFO] [stderr] | [INFO] [stderr] 117 | let reward: f64 = rng.gen_range(0.0..1.0); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range` [INFO] [stderr] --> src/model_free/bandit.rs:133:31 [INFO] [stderr] | [INFO] [stderr] 133 | let reward: f64 = rng.gen_range(0.0..1.0); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `rand::Rng::gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024. [INFO] [stderr] --> src/q_learning.rs:49:33 [INFO] [stderr] | [INFO] [stderr] 49 | let action = if rng.gen::() < epsilon { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/model_free/bandit.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | for i in 0..3 { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/model_free/bandit.rs:154:9 [INFO] [stderr] | [INFO] [stderr] 154 | let mut bandit = Bandit::new(20); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/model_free/dynamic_programming.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | let mut new_v = v.clone(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_v` [INFO] [stderr] --> src/model_free/dynamic_programming.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | let mut new_v = v.clone(); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_v` [INFO] [stderr] [INFO] [stderr] warning: function `test` is never used [INFO] [stderr] --> src/model_free/bandit.rs:109:4 [INFO] [stderr] | [INFO] [stderr] 109 | fn test() { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `test2` is never used [INFO] [stderr] --> src/model_free/bandit.rs:125:4 [INFO] [stderr] | [INFO] [stderr] 125 | fn test2() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `test3` is never used [INFO] [stderr] --> src/model_free/bandit.rs:142:4 [INFO] [stderr] | [INFO] [stderr] 142 | fn test3() { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Action` is never used [INFO] [stderr] --> src/model_free/grid_word.rs:5:6 [INFO] [stderr] | [INFO] [stderr] 5 | enum Action { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `from_u32` and `to_str` are never used [INFO] [stderr] --> src/model_free/grid_word.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 11 | impl Action { [INFO] [stderr] | ----------- associated items in this implementation [INFO] [stderr] 12 | fn from_u32(value: u32) -> Option { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 22 | fn to_str(&self) -> &'static str { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `action_meaning`, `goal_state`, `wall_state`, `start_state`, and `agent_state` are never read [INFO] [stderr] --> src/model_free/grid_word.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 32 | struct GridWorld { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] 33 | action_space: Array1, [INFO] [stderr] 34 | action_meaning: HashMap, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 35 | reward_map: Array2>, [INFO] [stderr] 36 | goal_state: (i32, i32), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 37 | wall_state: (i32, i32), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 38 | start_state: (i32, i32), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 39 | agent_state: (i32, i32), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `GridWorld` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `Meaning` is never constructed [INFO] [stderr] --> src/model_free/grid_word.rs:41:8 [INFO] [stderr] | [INFO] [stderr] 41 | struct Meaning { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rl_rs` (lib) generated 26 warnings (run `cargo fix --lib -p rl_rs` to apply 8 suggestions) [INFO] [stderr] warning: `rl_rs` (lib test) generated 26 warnings (26 duplicates) [INFO] [stderr] warning: unused imports: `dynamic_programming`, `grid_word`, and `q_learning` [INFO] [stderr] --> src/main.rs:1:34 [INFO] [stderr] | [INFO] [stderr] 1 | use rl_rs::{model_free::{bandit, dynamic_programming,grid_word}, q_learning}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `rl_rs` (bin "rl_rs" test) generated 1 warning (run `cargo fix --bin "rl_rs" -p rl_rs --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rl_rs-c925b9eccd984737) [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/main.rs (/opt/rustwide/target/debug/deps/rl_rs-fc6ebec834b66652) [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 rl_rs [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" "a35d02e52c38e6c1ccdcb00ce3872e124f24c1ad846dd1bb6bfda2d76d42d81e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a35d02e52c38e6c1ccdcb00ce3872e124f24c1ad846dd1bb6bfda2d76d42d81e", kill_on_drop: false }` [INFO] [stdout] a35d02e52c38e6c1ccdcb00ce3872e124f24c1ad846dd1bb6bfda2d76d42d81e