[INFO] cloning repository https://github.com/Zielony20/Ship_Game_in_Rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Zielony20/Ship_Game_in_Rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZielony20%2FShip_Game_in_Rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZielony20%2FShip_Game_in_Rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 49d913df23a4cca5cdafd01290e1c149b007cf7c
[INFO] testing Zielony20/Ship_Game_in_Rust against 1.90.0 for beta-1.91-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZielony20%2FShip_Game_in_Rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  54% (1544/2852)
Updating files:  55% (1569/2852)
Updating files:  56% (1598/2852)
Updating files:  57% (1626/2852)
Updating files:  57% (1646/2852)
Updating files:  58% (1655/2852)
Updating files:  59% (1683/2852)
Updating files:  60% (1712/2852)
Updating files:  61% (1740/2852)
Updating files:  61% (1752/2852)
Updating files:  62% (1769/2852)
Updating files:  63% (1797/2852)
Updating files:  64% (1826/2852)
Updating files:  65% (1854/2852)
Updating files:  66% (1883/2852)
Updating files:  67% (1911/2852)
Updating files:  68% (1940/2852)
Updating files:  69% (1968/2852)
Updating files:  70% (1997/2852)
Updating files:  70% (2022/2852)
Updating files:  71% (2025/2852)
Updating files:  72% (2054/2852)
Updating files:  73% (2082/2852)
Updating files:  74% (2111/2852)
Updating files:  75% (2139/2852)
Updating files:  75% (2162/2852)
Updating files:  76% (2168/2852)
Updating files:  77% (2197/2852)
Updating files:  78% (2225/2852)
Updating files:  79% (2254/2852)
Updating files:  80% (2282/2852)
Updating files:  81% (2311/2852)
Updating files:  81% (2332/2852)
Updating files:  82% (2339/2852)
Updating files:  83% (2368/2852)
Updating files:  84% (2396/2852)
Updating files:  85% (2425/2852)
Updating files:  85% (2448/2852)
Updating files:  86% (2453/2852)
Updating files:  87% (2482/2852)
Updating files:  88% (2510/2852)
Updating files:  89% (2539/2852)
Updating files:  89% (2559/2852)
Updating files:  90% (2567/2852)
Updating files:  91% (2596/2852)
Updating files:  92% (2624/2852)
Updating files:  93% (2653/2852)
Updating files:  94% (2681/2852)
Updating files:  95% (2710/2852)
Updating files:  96% (2738/2852)
Updating files:  97% (2767/2852)
Updating files:  98% (2795/2852)
Updating files:  99% (2824/2852)
Updating files: 100% (2852/2852)
Updating files: 100% (2852/2852), done.
[INFO] started tweaking git repo https://github.com/Zielony20/Ship_Game_in_Rust
[INFO] finished tweaking git repo https://github.com/Zielony20/Ship_Game_in_Rust
[INFO] tweaked toml for git repo https://github.com/Zielony20/Ship_Game_in_Rust written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Zielony20/Ship_Game_in_Rust on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Zielony20/Ship_Game_in_Rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded text_io v0.1.10
[INFO] [stderr]   Downloaded glutin v0.12.2
[INFO] [stderr]   Downloaded pistoncore-window v0.31.0
[INFO] [stderr]   Downloaded pistoncore-event_loop v0.36.0
[INFO] [stderr]   Downloaded core-graphics v0.12.4
[INFO] [stderr]   Downloaded cocoa v0.13.0
[INFO] [stderr]   Downloaded gl_generator v0.8.0
[INFO] [stderr]   Downloaded winit v0.10.0
[INFO] [stderr]   Downloaded piston v0.36.0
[INFO] [stderr]   Downloaded pistoncore-glutin_window v0.45.3
[INFO] [stderr]   Downloaded piston2d-opengl_graphics v0.52.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b34713b5f07cdb4beece82450e8f3bd7a18491fe5d211b9f055428423f7fb40b
[INFO] running `Command { std: "docker" "start" "-a" "b34713b5f07cdb4beece82450e8f3bd7a18491fe5d211b9f055428423f7fb40b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b34713b5f07cdb4beece82450e8f3bd7a18491fe5d211b9f055428423f7fb40b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b34713b5f07cdb4beece82450e8f3bd7a18491fe5d211b9f055428423f7fb40b", kill_on_drop: false }`
[INFO] [stdout] b34713b5f07cdb4beece82450e8f3bd7a18491fe5d211b9f055428423f7fb40b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 754302ee06313b922422ece423082a8fb790d9c83ba3829ed1b8bd4015bdb8d2
[INFO] running `Command { std: "docker" "start" "-a" "754302ee06313b922422ece423082a8fb790d9c83ba3829ed1b8bd4015bdb8d2", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling crossbeam-utils v0.8.8
[INFO] [stderr]    Compiling proc-macro2 v1.0.39
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling unicode-ident v1.0.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.8
[INFO] [stderr]    Compiling syn v1.0.95
[INFO] [stderr]    Compiling serde v1.0.137
[INFO] [stderr]    Compiling rayon-core v1.9.3
[INFO] [stderr]    Compiling serde_derive v1.0.137
[INFO] [stderr]    Compiling pkg-config v0.3.25
[INFO] [stderr]    Compiling rayon v1.5.3
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling fastrand v1.7.0
[INFO] [stderr]    Compiling unreachable v1.0.0
[INFO] [stderr]    Compiling gl v0.10.0
[INFO] [stderr]    Compiling gl_generator v0.8.0
[INFO] [stderr]    Compiling stb_truetype v0.3.1
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling ordered-float v0.5.2
[INFO] [stderr]    Compiling text_io v0.1.10
[INFO] [stderr]    Compiling crossbeam-channel v0.5.4
[INFO] [stderr]    Compiling x11-dl v2.19.1
[INFO] [stderr]    Compiling stb_truetype v0.2.8
[INFO] [stderr]    Compiling rusttype v0.4.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling quote v1.0.18
[INFO] [stderr]    Compiling wayland-client v0.12.5
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling memmap v0.6.2
[INFO] [stderr]    Compiling tempfile v3.3.0
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling piston2d-graphics v0.26.0
[INFO] [stderr]    Compiling glutin v0.12.2
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling wayland-protocols v0.12.5
[INFO] [stderr]    Compiling wayland-kbd v0.13.1
[INFO] [stderr]    Compiling wayland-window v0.13.3
[INFO] [stderr]    Compiling winit v0.10.0
[INFO] [stderr]    Compiling jpeg-decoder v0.1.22
[INFO] [stderr]    Compiling image v0.18.0
[INFO] [stderr]    Compiling pistoncore-input v0.20.0
[INFO] [stderr]    Compiling piston2d-opengl_graphics v0.52.1
[INFO] [stderr]    Compiling pistoncore-window v0.31.0
[INFO] [stderr]    Compiling pistoncore-event_loop v0.36.0
[INFO] [stderr]    Compiling pistoncore-glutin_window v0.45.3
[INFO] [stderr]    Compiling piston v0.36.0
[INFO] [stderr]    Compiling ship_game v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/main.rs:174:51
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let pointer = graphics::rectangle::square((p1 + (s*12) as f64 ), p2 as f64, (s as f64)*0.8);
[INFO] [stdout]     |                                                   ^                  ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 174 -         let pointer = graphics::rectangle::square((p1 + (s*12) as f64 ), p2 as f64, (s as f64)*0.8);
[INFO] [stdout] 174 +         let pointer = graphics::rectangle::square(p1 + (s*12) as f64, p2 as f64, (s as f64)*0.8);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/main.rs:45:40
[INFO] [stdout]    |
[INFO] [stdout] 45 |         self.gl.draw(args.viewport(), |context, graphics| {
[INFO] [stdout]    |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/main.rs:54:26
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn update(&mut self, args: &UpdateArgs) -> bool {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut x = r.gen_range(0, 9);
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut y = r.gen_range(0, 9);
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let mut square = graphics::rectangle::square((20) as f64, (20) as f64, s as f64);
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `squares`
[INFO] [stdout]    --> src/main.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let mut squares: Vec<graphics::types::Rectangle> = Vec::new();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_squares`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:158:37
[INFO] [stdout]     |
[INFO] [stdout] 158 | ...                   let mut square = graphics::rectangle::square((x*s+3*x+s) as f64, (y*s+3*y+s) as f64, s as f64);
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:180:33
[INFO] [stdout]     |
[INFO] [stdout] 180 | ...                   let mut square = graphics::rectangle::square((x*s+3*x+s*13) as f64, (y*s+3*y+s) as f64, s as f64);
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let mut squares: Vec<graphics::types::Rectangle> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut board = self.fields_p1.clone();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut board = self.fields_c1.clone();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             _=> {return false;},
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |             Player::Computer => { return self.ships_c1.iter().any(|v| v.alive == true)  },
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] 201 |             Player::Player1 => { return self.ships_p1.iter().any(|v| v.alive == true) },
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 202 |             _=> {return false;},
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/main.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let s = self.size as f64*0.8;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/main.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         for s in 0..n{
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 let mut new_x:i8 = r.gen_range(0, 9);
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:258:21
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 let mut new_y:i8 = r.gen_range(0, 9);
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:259:21
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 let mut orient:i8 = r.gen_range(1, 4);
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `counter` is never read
[INFO] [stdout]    --> src/main.rs:317:17
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let mut counter : u8 = 0;
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:322:13
[INFO] [stdout]     |
[INFO] [stdout] 322 |         let mut board:[[Area;10];10];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 411 |             _=>Area::NOTHING
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 405 |             Area::NOTHING =>Area::MISS,
[INFO] [stdout]     |             ------------- matches some of the same values
[INFO] [stdout] 406 |             Area::UNKNOWN =>Area::MISS,
[INFO] [stdout]     |             ------------- matches some of the same values
[INFO] [stdout] 407 |             Area::SHIP =>Area::DESTROYEDSHIP,
[INFO] [stdout]     |             ---------- matches some of the same values
[INFO] [stdout] 408 |             Area::DESTROYEDSHIP =>Area::DESTROYEDSHIP,
[INFO] [stdout]     |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 411 |             _=>Area::NOTHING
[INFO] [stdout]     |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ships`
[INFO] [stdout]    --> src/main.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |         let mut ships:&[Ship;10];
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_ships`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rows`, `cols`, and `square_width` are never read
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Game {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 32 |     gl: GlGraphics,
[INFO] [stdout] 33 |     rows: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 34 |     cols: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     board: Board,
[INFO] [stdout] 36 |     square_width: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fields` is never read
[INFO] [stdout]    --> src/main.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct Board {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout]  99 |     gl: GlGraphics,
[INFO] [stdout] 100 |     fields: i8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fun` is never used
[INFO] [stdout]    --> src/main.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn fun(context : graphics::context::Context, gl : &mut  GlGraphics){
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_ship` is never used
[INFO] [stdout]    --> src/main.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl Board {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn push_ship(mut self,ship:Ship,player:Player){
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `computerTurn` should have a snake case name
[INFO] [stdout]   --> src/main.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn computerTurn(&mut self) -> bool{
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `computer_turn`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `playerTurn` should have a snake case name
[INFO] [stdout]   --> src/main.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn playerTurn(&mut self) -> bool{
[INFO] [stdout]    |        ^^^^^^^^^^ help: convert the identifier to snake case: `player_turn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `playerAlive` should have a snake case name
[INFO] [stdout]    --> src/main.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn playerAlive(&self, player : Player) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^ help: convert the identifier to snake case: `player_alive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getPointerSquare` should have a snake case name
[INFO] [stdout]    --> src/main.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn getPointerSquare(&mut self, x : u32, y : u32) -> (f64,f64) { //-> graphics::types::Rectangle
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_pointer_square`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `updatePointer` should have a snake case name
[INFO] [stdout]    --> src/main.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn updatePointer(&mut self, x : i8, y : i8){
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_pointer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/main.rs:319:19
[INFO] [stdout]     |
[INFO] [stdout] 319 |         if x>9 || x<0 || y>9 || y<0{
[INFO] [stdout]     |                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/main.rs:319:33
[INFO] [stdout]     |
[INFO] [stdout] 319 |         if x>9 || x<0 || y>9 || y<0{
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.62s
[INFO] running `Command { std: "docker" "inspect" "754302ee06313b922422ece423082a8fb790d9c83ba3829ed1b8bd4015bdb8d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "754302ee06313b922422ece423082a8fb790d9c83ba3829ed1b8bd4015bdb8d2", kill_on_drop: false }`
[INFO] [stdout] 754302ee06313b922422ece423082a8fb790d9c83ba3829ed1b8bd4015bdb8d2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b8266ce18b8bf0fbb949e53667c244cdaf89950c3df3828b6d43e278adc3dba7
[INFO] running `Command { std: "docker" "start" "-a" "b8266ce18b8bf0fbb949e53667c244cdaf89950c3df3828b6d43e278adc3dba7", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling ship_game v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/main.rs:174:51
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let pointer = graphics::rectangle::square((p1 + (s*12) as f64 ), p2 as f64, (s as f64)*0.8);
[INFO] [stdout]     |                                                   ^                  ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 174 -         let pointer = graphics::rectangle::square((p1 + (s*12) as f64 ), p2 as f64, (s as f64)*0.8);
[INFO] [stdout] 174 +         let pointer = graphics::rectangle::square(p1 + (s*12) as f64, p2 as f64, (s as f64)*0.8);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/main.rs:45:40
[INFO] [stdout]    |
[INFO] [stdout] 45 |         self.gl.draw(args.viewport(), |context, graphics| {
[INFO] [stdout]    |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/main.rs:54:26
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn update(&mut self, args: &UpdateArgs) -> bool {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut x = r.gen_range(0, 9);
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let mut y = r.gen_range(0, 9);
[INFO] [stdout]    |             ----^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let mut square = graphics::rectangle::square((20) as f64, (20) as f64, s as f64);
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `squares`
[INFO] [stdout]    --> src/main.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let mut squares: Vec<graphics::types::Rectangle> = Vec::new();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_squares`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:158:37
[INFO] [stdout]     |
[INFO] [stdout] 158 | ...                   let mut square = graphics::rectangle::square((x*s+3*x+s) as f64, (y*s+3*y+s) as f64, s as f64);
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:180:33
[INFO] [stdout]     |
[INFO] [stdout] 180 | ...                   let mut square = graphics::rectangle::square((x*s+3*x+s*13) as f64, (y*s+3*y+s) as f64, s as f64);
[INFO] [stdout]     |                           ----^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let mut squares: Vec<graphics::types::Rectangle> = Vec::new();
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut board = self.fields_p1.clone();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut board = self.fields_c1.clone();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             _=> {return false;},
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |             Player::Computer => { return self.ships_c1.iter().any(|v| v.alive == true)  },
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] 201 |             Player::Player1 => { return self.ships_p1.iter().any(|v| v.alive == true) },
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 202 |             _=> {return false;},
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/main.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let s = self.size as f64*0.8;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/main.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         for s in 0..n{
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 let mut new_x:i8 = r.gen_range(0, 9);
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:258:21
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 let mut new_y:i8 = r.gen_range(0, 9);
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:259:21
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 let mut orient:i8 = r.gen_range(1, 4);
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `counter` is never read
[INFO] [stdout]    --> src/main.rs:317:17
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let mut counter : u8 = 0;
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:322:13
[INFO] [stdout]     |
[INFO] [stdout] 322 |         let mut board:[[Area;10];10];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 411 |             _=>Area::NOTHING
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 405 |             Area::NOTHING =>Area::MISS,
[INFO] [stdout]     |             ------------- matches some of the same values
[INFO] [stdout] 406 |             Area::UNKNOWN =>Area::MISS,
[INFO] [stdout]     |             ------------- matches some of the same values
[INFO] [stdout] 407 |             Area::SHIP =>Area::DESTROYEDSHIP,
[INFO] [stdout]     |             ---------- matches some of the same values
[INFO] [stdout] 408 |             Area::DESTROYEDSHIP =>Area::DESTROYEDSHIP,
[INFO] [stdout]     |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 411 |             _=>Area::NOTHING
[INFO] [stdout]     |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ships`
[INFO] [stdout]    --> src/main.rs:343:17
[INFO] [stdout]     |
[INFO] [stdout] 343 |         let mut ships:&[Ship;10];
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_ships`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rows`, `cols`, and `square_width` are never read
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Game {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 32 |     gl: GlGraphics,
[INFO] [stdout] 33 |     rows: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 34 |     cols: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     board: Board,
[INFO] [stdout] 36 |     square_width: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fields` is never read
[INFO] [stdout]    --> src/main.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct Board {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout]  99 |     gl: GlGraphics,
[INFO] [stdout] 100 |     fields: i8,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fun` is never used
[INFO] [stdout]    --> src/main.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn fun(context : graphics::context::Context, gl : &mut  GlGraphics){
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_ship` is never used
[INFO] [stdout]    --> src/main.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl Board {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn push_ship(mut self,ship:Ship,player:Player){
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `computerTurn` should have a snake case name
[INFO] [stdout]   --> src/main.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn computerTurn(&mut self) -> bool{
[INFO] [stdout]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `computer_turn`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `playerTurn` should have a snake case name
[INFO] [stdout]   --> src/main.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn playerTurn(&mut self) -> bool{
[INFO] [stdout]    |        ^^^^^^^^^^ help: convert the identifier to snake case: `player_turn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `playerAlive` should have a snake case name
[INFO] [stdout]    --> src/main.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub fn playerAlive(&self, player : Player) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^ help: convert the identifier to snake case: `player_alive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `getPointerSquare` should have a snake case name
[INFO] [stdout]    --> src/main.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub fn getPointerSquare(&mut self, x : u32, y : u32) -> (f64,f64) { //-> graphics::types::Rectangle
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_pointer_square`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `updatePointer` should have a snake case name
[INFO] [stdout]    --> src/main.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub fn updatePointer(&mut self, x : i8, y : i8){
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_pointer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/main.rs:319:19
[INFO] [stdout]     |
[INFO] [stdout] 319 |         if x>9 || x<0 || y>9 || y<0{
[INFO] [stdout]     |                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/main.rs:319:33
[INFO] [stdout]     |
[INFO] [stdout] 319 |         if x>9 || x<0 || y>9 || y<0{
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.71s
[INFO] running `Command { std: "docker" "inspect" "b8266ce18b8bf0fbb949e53667c244cdaf89950c3df3828b6d43e278adc3dba7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8266ce18b8bf0fbb949e53667c244cdaf89950c3df3828b6d43e278adc3dba7", kill_on_drop: false }`
[INFO] [stdout] b8266ce18b8bf0fbb949e53667c244cdaf89950c3df3828b6d43e278adc3dba7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7fc925c82ad1cd27bb1575fe50ba1bb2b6031f9b1a53086cf954b212a25e551a
[INFO] running `Command { std: "docker" "start" "-a" "7fc925c82ad1cd27bb1575fe50ba1bb2b6031f9b1a53086cf954b212a25e551a", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/main.rs:174:51
[INFO] [stderr]     |
[INFO] [stderr] 174 |         let pointer = graphics::rectangle::square((p1 + (s*12) as f64 ), p2 as f64, (s as f64)*0.8);
[INFO] [stderr]     |                                                   ^                  ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 174 -         let pointer = graphics::rectangle::square((p1 + (s*12) as f64 ), p2 as f64, (s as f64)*0.8);
[INFO] [stderr] 174 +         let pointer = graphics::rectangle::square(p1 + (s*12) as f64, p2 as f64, (s as f64)*0.8);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]   --> src/main.rs:45:40
[INFO] [stderr]    |
[INFO] [stderr] 45 |         self.gl.draw(args.viewport(), |context, graphics| {
[INFO] [stderr]    |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]   --> src/main.rs:54:26
[INFO] [stderr]    |
[INFO] [stderr] 54 |     fn update(&mut self, args: &UpdateArgs) -> bool {
[INFO] [stderr]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:71:13
[INFO] [stderr]    |
[INFO] [stderr] 71 |         let mut x = r.gen_range(0, 9);
[INFO] [stderr]    |             ----^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:72:13
[INFO] [stderr]    |
[INFO] [stderr] 72 |         let mut y = r.gen_range(0, 9);
[INFO] [stderr]    |             ----^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:118:9
[INFO] [stderr]     |
[INFO] [stderr] 118 |     let mut square = graphics::rectangle::square((20) as f64, (20) as f64, s as f64);
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `squares`
[INFO] [stderr]    --> src/main.rs:136:17
[INFO] [stderr]     |
[INFO] [stderr] 136 |         let mut squares: Vec<graphics::types::Rectangle> = Vec::new();
[INFO] [stderr]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_squares`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:158:37
[INFO] [stderr]     |
[INFO] [stderr] 158 | ...                   let mut square = graphics::rectangle::square((x*s+3*x+s) as f64, (y*s+3*y+s) as f64, s as f64);
[INFO] [stderr]     |                           ----^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:180:33
[INFO] [stderr]     |
[INFO] [stderr] 180 | ...                   let mut square = graphics::rectangle::square((x*s+3*x+s*13) as f64, (y*s+3*y+s) as f64, s as f64);
[INFO] [stderr]     |                           ----^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:136:13
[INFO] [stderr]     |
[INFO] [stderr] 136 |         let mut squares: Vec<graphics::types::Rectangle> = Vec::new();
[INFO] [stderr]     |             ----^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:139:13
[INFO] [stderr]     |
[INFO] [stderr] 139 |         let mut board = self.fields_p1.clone();
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:172:13
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let mut board = self.fields_c1.clone();
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/main.rs:202:13
[INFO] [stderr]     |
[INFO] [stderr] 202 |             _=> {return false;},
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/main.rs:202:13
[INFO] [stderr]     |
[INFO] [stderr] 200 |             Player::Computer => { return self.ships_c1.iter().any(|v| v.alive == true)  },
[INFO] [stderr]     |             ---------------- matches some of the same values
[INFO] [stderr] 201 |             Player::Player1 => { return self.ships_p1.iter().any(|v| v.alive == true) },
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] 202 |             _=> {return false;},
[INFO] [stderr]     |             ^ collectively making this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]    --> src/main.rs:207:13
[INFO] [stderr]     |
[INFO] [stderr] 207 |         let s = self.size as f64*0.8;
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]    --> src/main.rs:243:13
[INFO] [stderr]     |
[INFO] [stderr] 243 |         for s in 0..n{
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:257:21
[INFO] [stderr]     |
[INFO] [stderr] 257 |                 let mut new_x:i8 = r.gen_range(0, 9);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:258:21
[INFO] [stderr]     |
[INFO] [stderr] 258 |                 let mut new_y:i8 = r.gen_range(0, 9);
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:259:21
[INFO] [stderr]     |
[INFO] [stderr] 259 |                 let mut orient:i8 = r.gen_range(1, 4);
[INFO] [stderr]     |                     ----^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `counter` is never read
[INFO] [stderr]    --> src/main.rs:317:17
[INFO] [stderr]     |
[INFO] [stderr] 317 |         let mut counter : u8 = 0;
[INFO] [stderr]     |                 ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:322:13
[INFO] [stderr]     |
[INFO] [stderr] 322 |         let mut board:[[Area;10];10];
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/main.rs:411:13
[INFO] [stderr]     |
[INFO] [stderr] 411 |             _=>Area::NOTHING
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/main.rs:411:13
[INFO] [stderr]     |
[INFO] [stderr] 405 |             Area::NOTHING =>Area::MISS,
[INFO] [stderr]     |             ------------- matches some of the same values
[INFO] [stderr] 406 |             Area::UNKNOWN =>Area::MISS,
[INFO] [stderr]     |             ------------- matches some of the same values
[INFO] [stderr] 407 |             Area::SHIP =>Area::DESTROYEDSHIP,
[INFO] [stderr]     |             ---------- matches some of the same values
[INFO] [stderr] 408 |             Area::DESTROYEDSHIP =>Area::DESTROYEDSHIP,
[INFO] [stderr]     |             ------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 411 |             _=>Area::NOTHING
[INFO] [stderr]     |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ships`
[INFO] [stderr]    --> src/main.rs:343:17
[INFO] [stderr]     |
[INFO] [stderr] 343 |         let mut ships:&[Ship;10];
[INFO] [stderr]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_ships`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `rows`, `cols`, and `square_width` are never read
[INFO] [stderr]   --> src/main.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct Game {
[INFO] [stderr]    |            ---- fields in this struct
[INFO] [stderr] 32 |     gl: GlGraphics,
[INFO] [stderr] 33 |     rows: u32,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 34 |     cols: u32,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 35 |     board: Board,
[INFO] [stderr] 36 |     square_width: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `fields` is never read
[INFO] [stderr]    --> src/main.rs:100:5
[INFO] [stderr]     |
[INFO] [stderr]  98 | pub struct Board {
[INFO] [stderr]     |            ----- field in this struct
[INFO] [stderr]  99 |     gl: GlGraphics,
[INFO] [stderr] 100 |     fields: i8,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `fun` is never used
[INFO] [stderr]    --> src/main.rs:114:4
[INFO] [stderr]     |
[INFO] [stderr] 114 | fn fun(context : graphics::context::Context, gl : &mut  GlGraphics){
[INFO] [stderr]     |    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `push_ship` is never used
[INFO] [stderr]    --> src/main.rs:221:8
[INFO] [stderr]     |
[INFO] [stderr] 124 | impl Board {
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 221 |     fn push_ship(mut self,ship:Ship,player:Player){
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `computerTurn` should have a snake case name
[INFO] [stderr]   --> src/main.rs:69:8
[INFO] [stderr]    |
[INFO] [stderr] 69 |     fn computerTurn(&mut self) -> bool{
[INFO] [stderr]    |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `computer_turn`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `playerTurn` should have a snake case name
[INFO] [stderr]   --> src/main.rs:76:8
[INFO] [stderr]    |
[INFO] [stderr] 76 |     fn playerTurn(&mut self) -> bool{
[INFO] [stderr]    |        ^^^^^^^^^^ help: convert the identifier to snake case: `player_turn`
[INFO] [stderr] 
[INFO] [stderr] warning: method `playerAlive` should have a snake case name
[INFO] [stderr]    --> src/main.rs:198:12
[INFO] [stderr]     |
[INFO] [stderr] 198 |     pub fn playerAlive(&self, player : Player) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^ help: convert the identifier to snake case: `player_alive`
[INFO] [stderr] 
[INFO] [stderr] warning: method `getPointerSquare` should have a snake case name
[INFO] [stderr]    --> src/main.rs:206:12
[INFO] [stderr]     |
[INFO] [stderr] 206 |     pub fn getPointerSquare(&mut self, x : u32, y : u32) -> (f64,f64) { //-> graphics::types::Rectangle
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_pointer_square`
[INFO] [stderr] 
[INFO] [stderr] warning: method `updatePointer` should have a snake case name
[INFO] [stderr]    --> src/main.rs:215:12
[INFO] [stderr]     |
[INFO] [stderr] 215 |     pub fn updatePointer(&mut self, x : i8, y : i8){
[INFO] [stderr]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `update_pointer`
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/main.rs:319:19
[INFO] [stderr]     |
[INFO] [stderr] 319 |         if x>9 || x<0 || y>9 || y<0{
[INFO] [stderr]     |                   ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/main.rs:319:33
[INFO] [stderr]     |
[INFO] [stderr] 319 |         if x>9 || x<0 || y>9 || y<0{
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ship_game` (bin "ship_game" test) generated 33 warnings (run `cargo fix --bin "ship_game" --tests` to apply 13 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ship_game-9f1c4f21dfc15107)
[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" "7fc925c82ad1cd27bb1575fe50ba1bb2b6031f9b1a53086cf954b212a25e551a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fc925c82ad1cd27bb1575fe50ba1bb2b6031f9b1a53086cf954b212a25e551a", kill_on_drop: false }`
[INFO] [stdout] 7fc925c82ad1cd27bb1575fe50ba1bb2b6031f9b1a53086cf954b212a25e551a
