[INFO] cloning repository https://github.com/teevik/piston-test [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/teevik/piston-test" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fteevik%2Fpiston-test", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fteevik%2Fpiston-test'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5c9292ff793746b7274ebf7548b678f6c5bd80f2 [INFO] checking teevik/piston-test against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fteevik%2Fpiston-test" "/workspace/builds/worker-10/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/teevik/piston-test on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/teevik/piston-test [INFO] finished tweaking git repo https://github.com/teevik/piston-test [INFO] tweaked toml for git repo https://github.com/teevik/piston-test written to /workspace/builds/worker-10/source/Cargo.toml [INFO] crate git repo https://github.com/teevik/piston-test already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 95c2bd8906b9bccf7d05921d6cf776f0301aa016de848ca955b7c1fd122c8d8e [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "95c2bd8906b9bccf7d05921d6cf776f0301aa016de848ca955b7c1fd122c8d8e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "95c2bd8906b9bccf7d05921d6cf776f0301aa016de848ca955b7c1fd122c8d8e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "95c2bd8906b9bccf7d05921d6cf776f0301aa016de848ca955b7c1fd122c8d8e", kill_on_drop: false }` [INFO] [stdout] 95c2bd8906b9bccf7d05921d6cf776f0301aa016de848ca955b7c1fd122c8d8e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6deb3afede92d190d2b763798fdf723877fe7ac7750a30b04a292f7e4daf1aee [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "6deb3afede92d190d2b763798fdf723877fe7ac7750a30b04a292f7e4daf1aee", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling libc v0.2.76 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling xml-rs v0.8.3 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Checking piston-float v1.0.0 [INFO] [stderr] Compiling proc-macro2 v1.0.20 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling syn v1.0.40 [INFO] [stderr] Compiling serde_derive v1.0.115 [INFO] [stderr] Compiling serde v1.0.115 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Compiling pkg-config v0.3.18 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking downcast-rs v1.2.0 [INFO] [stderr] Checking piston-graphics_api_version v1.0.0 [INFO] [stderr] Compiling cc v1.0.59 [INFO] [stderr] Checking xdg v2.2.0 [INFO] [stderr] Checking piston-texture v0.8.0 [INFO] [stderr] Checking read_color v1.0.0 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking color_quant v1.0.1 [INFO] [stderr] Checking interpolation v0.2.0 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking find_folder v0.3.0 [INFO] [stderr] Checking piston-viewport v1.0.0 [INFO] [stderr] Checking vecmath v1.0.0 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking miniz_oxide v0.3.7 [INFO] [stderr] Checking walkdir v2.3.1 [INFO] [stderr] Checking shader_version v0.7.0 [INFO] [stderr] Checking libloading v0.6.3 [INFO] [stderr] Checking crc32fast v1.2.0 [INFO] [stderr] Checking gif v0.10.3 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling memoffset v0.5.5 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling rayon v1.4.0 [INFO] [stderr] Compiling num-rational v0.3.0 [INFO] [stderr] Compiling num-iter v0.1.41 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking quaternion v0.4.1 [INFO] [stderr] Checking draw_state v0.8.0 [INFO] [stderr] Checking dlib v0.4.2 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling gl_generator v0.10.0 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Checking stb_truetype v0.3.1 [INFO] [stderr] Checking deflate v0.8.6 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Checking tiff v0.5.0 [INFO] [stderr] Compiling wayland-scanner v0.21.13 [INFO] [stderr] Checking piston3d-cam v0.4.0 [INFO] [stderr] Checking wayland-sys v0.21.13 [INFO] [stderr] Checking gfx_core v0.9.2 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Checking raw-window-handle v0.3.3 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking png v0.16.7 [INFO] [stderr] Checking crossbeam-channel v0.4.4 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Checking crossbeam-deque v0.7.3 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking ordered-float v1.1.0 [INFO] [stderr] Checking line_drawing v0.7.0 [INFO] [stderr] Checking uuid v0.6.5 [INFO] [stderr] Compiling gl v0.11.0 [INFO] [stderr] Checking rayon-core v1.8.0 [INFO] [stderr] Checking rusttype v0.8.3 [INFO] [stderr] Compiling glutin_glx_sys v0.1.7 [INFO] [stderr] Compiling glutin_egl_sys v0.1.5 [INFO] [stderr] Compiling gfx_gl v0.6.1 [INFO] [stderr] Compiling wayland-client v0.21.13 [INFO] [stderr] Compiling wayland-protocols v0.21.13 [INFO] [stderr] Checking gfx v0.18.2 [INFO] [stderr] Checking rusttype v0.7.9 [INFO] [stderr] Checking piston2d-graphics v0.37.0 [INFO] [stderr] Checking andrew v0.2.1 [INFO] [stderr] Checking piston2d-deform_grid v0.7.0 [INFO] [stderr] Checking wayland-commons v0.21.13 [INFO] [stderr] Checking jpeg-decoder v0.1.20 [INFO] [stderr] Checking image v0.23.9 [INFO] [stderr] Checking gfx_device_gl v0.16.2 [INFO] [stderr] Checking piston-gfx_texture v0.41.0 [INFO] [stderr] Checking piston2d-gfx_graphics v0.70.0 [INFO] [stderr] Checking smithay-client-toolkit v0.4.6 [INFO] [stderr] Checking winit v0.19.5 [INFO] [stderr] Checking pistoncore-input v1.0.0 [INFO] [stderr] Checking pistoncore-window v0.47.0 [INFO] [stderr] Checking piston-ai_behavior v0.32.0 [INFO] [stderr] Checking piston2d-drag_controller v0.30.0 [INFO] [stderr] Checking camera_controllers v0.32.0 [INFO] [stderr] Checking glutin v0.21.2 [INFO] [stderr] Checking pistoncore-event_loop v0.52.0 [INFO] [stderr] Checking pistoncore-glutin_window v0.66.0 [INFO] [stderr] Checking piston2d-sprite v0.61.0 [INFO] [stderr] Checking piston v0.52.0 [INFO] [stderr] Checking piston_window v0.112.0 [INFO] [stderr] Checking spinning-square v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `vec2_cast` [INFO] [stdout] --> src/cell_grid.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | use vecmath::{Vector2, vec2_add, vec2_cast}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Chunk` [INFO] [stdout] --> src/cell_grid.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | use itertools::{Itertools, Chunk}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::INFINITY` [INFO] [stdout] --> src/cell_grid.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::f32::INFINITY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/cell_grid.rs:250:23 [INFO] [stdout] | [INFO] [stdout] 250 | for column in (0..5) { [INFO] [stdout] | ^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/cell_grid.rs:251:24 [INFO] [stdout] | [INFO] [stdout] 251 | for row in (0..3) { [INFO] [stdout] | ^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Vector2`, `vec2_mul`, `vec2_sub` [INFO] [stdout] --> src/main.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use vecmath::{Vector2, vec2_mul, vec2_scale, vec2_sub}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Filter`, `G2d` [INFO] [stdout] --> src/main.rs:7:110 [INFO] [stdout] | [INFO] [stdout] 7 | use piston_window::{clear, WindowSettings, OpenGL, PistonWindow, RenderEvent, MouseCursorEvent, Transformed, Filter, math, G2d, PressEven... [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::constants::CHUNK_SIZE` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::constants::CHUNK_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vecmath::traits::Cast` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use vecmath::traits::Cast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vec2_cast` [INFO] [stdout] --> src/cell_grid.rs:5:34 [INFO] [stdout] | [INFO] [stdout] 5 | use vecmath::{Vector2, vec2_add, vec2_cast}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Chunk` [INFO] [stdout] --> src/cell_grid.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | use itertools::{Itertools, Chunk}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::INFINITY` [INFO] [stdout] --> src/cell_grid.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::f32::INFINITY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/cell_grid.rs:250:23 [INFO] [stdout] | [INFO] [stdout] 250 | for column in (0..5) { [INFO] [stdout] | ^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/cell_grid.rs:251:24 [INFO] [stdout] | [INFO] [stdout] 251 | for row in (0..3) { [INFO] [stdout] | ^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Vector2`, `vec2_mul`, `vec2_sub` [INFO] [stdout] --> src/main.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use vecmath::{Vector2, vec2_mul, vec2_scale, vec2_sub}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Filter`, `G2d` [INFO] [stdout] --> src/main.rs:7:110 [INFO] [stdout] | [INFO] [stdout] 7 | use piston_window::{clear, WindowSettings, OpenGL, PistonWindow, RenderEvent, MouseCursorEvent, Transformed, Filter, math, G2d, PressEven... [INFO] [stdout] | ^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::constants::CHUNK_SIZE` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::constants::CHUNK_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vecmath::traits::Cast` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use vecmath::traits::Cast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Itertools` [INFO] [stdout] --> src/cell_grid.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use itertools::{Itertools, Chunk}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `live_cell` [INFO] [stdout] --> src/cell_grid.rs:117:24 [INFO] [stdout] | [INFO] [stdout] 117 | Cell::Live(live_cell) => Rgba([0, 0, 0, 255]) [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_cell` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_even` [INFO] [stdout] --> src/cell_grid.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | let is_even = current_frame % 2 == 0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_even` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `neighbor_chunks` [INFO] [stdout] --> src/cell_grid.rs:178:50 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn update(&mut self, current_frame: u64, neighbor_chunks: [Option<&mut CellChunk>; 8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_neighbor_chunks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cell_grid.rs:132:13 [INFO] [stdout] | [INFO] [stdout] 132 | let mut cells = [[Cell::Empty; CHUNK_SIZE]; CHUNK_SIZE]; [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/cell_grid.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | let mut canvas = ImageBuffer::new(CHUNK_SIZE as u32, CHUNK_SIZE as u32); [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/cell_grid.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | let mut texture = Texture::from_image( [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:316:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] 316 | get_chunk_at_offset(&mut self.chunks, chunk_position, [-1, -1]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:317:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] 316 | get_chunk_at_offset(&mut self.chunks, chunk_position, [-1, -1]), [INFO] [stdout] 317 | get_chunk_at_offset(&mut self.chunks, chunk_position, [0, -1]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:318:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 318 | get_chunk_at_offset(&mut self.chunks, chunk_position, [1, -1]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:319:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 319 | get_chunk_at_offset(&mut self.chunks, chunk_position, [-1, 0]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:320:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 320 | get_chunk_at_offset(&mut self.chunks, chunk_position, [1, 0]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:321:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 321 | get_chunk_at_offset(&mut self.chunks, chunk_position, [-1, 1]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:322:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 322 | get_chunk_at_offset(&mut self.chunks, chunk_position, [0, 1]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:323:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 323 | get_chunk_at_offset(&mut self.chunks, chunk_position, [1, 1]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Itertools` [INFO] [stdout] --> src/cell_grid.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use itertools::{Itertools, Chunk}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `live_cell` [INFO] [stdout] --> src/cell_grid.rs:117:24 [INFO] [stdout] | [INFO] [stdout] 117 | Cell::Live(live_cell) => Rgba([0, 0, 0, 255]) [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_live_cell` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_even` [INFO] [stdout] --> src/cell_grid.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | let is_even = current_frame % 2 == 0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_even` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `neighbor_chunks` [INFO] [stdout] --> src/cell_grid.rs:178:50 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn update(&mut self, current_frame: u64, neighbor_chunks: [Option<&mut CellChunk>; 8]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_neighbor_chunks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors; 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0499`. [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cell_grid.rs:132:13 [INFO] [stdout] | [INFO] [stdout] 132 | let mut cells = [[Cell::Empty; CHUNK_SIZE]; CHUNK_SIZE]; [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/cell_grid.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | let mut canvas = ImageBuffer::new(CHUNK_SIZE as u32, CHUNK_SIZE as u32); [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/cell_grid.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | let mut texture = Texture::from_image( [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:316:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] 316 | get_chunk_at_offset(&mut self.chunks, chunk_position, [-1, -1]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:317:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] 316 | get_chunk_at_offset(&mut self.chunks, chunk_position, [-1, -1]), [INFO] [stdout] 317 | get_chunk_at_offset(&mut self.chunks, chunk_position, [0, -1]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:318:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 318 | get_chunk_at_offset(&mut self.chunks, chunk_position, [1, -1]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:319:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 319 | get_chunk_at_offset(&mut self.chunks, chunk_position, [-1, 0]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:320:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 320 | get_chunk_at_offset(&mut self.chunks, chunk_position, [1, 0]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:321:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 321 | get_chunk_at_offset(&mut self.chunks, chunk_position, [-1, 1]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:322:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 322 | get_chunk_at_offset(&mut self.chunks, chunk_position, [0, 1]), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.chunks` as mutable more than once at a time [INFO] [stdout] --> src/cell_grid.rs:323:45 [INFO] [stdout] | [INFO] [stdout] 312 | let chunk = self.chunks.get_mut(&chunk_position); [INFO] [stdout] | ----------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 315 | chunk.update(current_frame, [ [INFO] [stdout] | ------ first borrow later used by call [INFO] [stdout] ... [INFO] [stdout] 323 | get_chunk_at_offset(&mut self.chunks, chunk_position, [1, 1]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `spinning-square` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 8 previous errors; 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0499`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "6deb3afede92d190d2b763798fdf723877fe7ac7750a30b04a292f7e4daf1aee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6deb3afede92d190d2b763798fdf723877fe7ac7750a30b04a292f7e4daf1aee", kill_on_drop: false }` [INFO] [stdout] 6deb3afede92d190d2b763798fdf723877fe7ac7750a30b04a292f7e4daf1aee