[INFO] cloning repository https://github.com/kubil6y/rust_ecs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kubil6y/rust_ecs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkubil6y%2Frust_ecs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkubil6y%2Frust_ecs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9971d0d7247a9892ae3f66998fdf64e35b19f38f
[INFO] testing kubil6y/rust_ecs against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkubil6y%2Frust_ecs" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kubil6y/rust_ecs
[INFO] finished tweaking git repo https://github.com/kubil6y/rust_ecs
[INFO] tweaked toml for git repo https://github.com/kubil6y/rust_ecs written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kubil6y/rust_ecs on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kubil6y/rust_ecs 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.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6ebf23907c481ca703164031ae33f1cb6977e980ab76fe7d604001a823fc5442
[INFO] running `Command { std: "docker" "start" "6ebf23907c481ca703164031ae33f1cb6977e980ab76fe7d604001a823fc5442", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6ebf23907c481ca703164031ae33f1cb6977e980ab76fe7d604001a823fc5442", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6ebf23907c481ca703164031ae33f1cb6977e980ab76fe7d604001a823fc5442" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6ebf23907c481ca703164031ae33f1cb6977e980ab76fe7d604001a823fc5442", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6ebf23907c481ca703164031ae33f1cb6977e980ab76fe7d604001a823fc5442" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling version-compare v0.1.1
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.151
[INFO] [stderr]    Compiling thiserror v1.0.50
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]    Compiling sdl2 v0.35.2
[INFO] [stderr]    Compiling iana-time-zone v0.1.58
[INFO] [stderr]    Compiling colored v2.1.0
[INFO] [stderr]    Compiling sdl2-sys v0.35.2
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.40
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.50
[INFO] [stderr]    Compiling engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `components::TransformComponent`
[INFO] [stdout]  --> src/ecs/systems/movement_system.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ecs::{components::TransformComponent, registry::Registry};
[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: `super::SystemMaskBuilder`
[INFO] [stdout]  --> src/ecs/systems/movement_system.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::SystemMaskBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `components::TransformComponent`
[INFO] [stdout]  --> src/ecs/systems/render_system.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ecs::{components::TransformComponent, registry::Registry};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/ecs/registry.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 55 |           for (system_type_id, system_mask) in self.system_masks.borrow_mut().iter_mut() {
[INFO] [stdout]    |           -                                    ------------------------------
[INFO] [stdout]    |           |                                    |
[INFO] [stdout]    |           |                                    immutable borrow occurs here
[INFO] [stdout]    |  _________|                                    a temporary with access to the immutable borrow is created here ...
[INFO] [stdout]    | |
[INFO] [stdout] 56 | |             for entity in &self.entities_to_be_added {
[INFO] [stdout] 57 | |                 let entity_mask = self.get_entity_mask_mut(*entity).unwrap();
[INFO] [stdout]    | |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here
[INFO] [stdout] ...  |
[INFO] [stdout] 63 | |         }
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, HashMap<TypeId, u32>>`
[INFO] [stdout]    |           this for loop borrows `*self` immutably, preventing mutation within its body
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using an index-based loop instead, or collecting modifications into a separate collection
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> src/ecs/registry.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |           for (system_type_id, system_mask) in self.system_masks.borrow_mut().iter_mut() {
[INFO] [stdout]    |           -                                    ------------------------------
[INFO] [stdout]    |           |                                    |
[INFO] [stdout]    |           |                                    immutable borrow occurs here
[INFO] [stdout]    |  _________|                                    a temporary with access to the immutable borrow is created here ...
[INFO] [stdout]    | |
[INFO] [stdout] 56 | |             for entity in &self.entities_to_be_added {
[INFO] [stdout] 57 | |                 let entity_mask = self.get_entity_mask_mut(*entity).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 60 | |                     self.add_entity_to_system_with_id(system_type_id, *entity);
[INFO] [stdout]    | |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here
[INFO] [stdout] ...  |
[INFO] [stdout] 63 | |         }
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, HashMap<TypeId, u32>>`
[INFO] [stdout]    |           this for loop borrows `*self` immutably, preventing mutation within its body
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using an index-based loop instead, or collecting modifications into a separate collection
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `register`
[INFO] [stdout]  --> src/ecs/systems/movement_system.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn update(register: &mut Registry, dt: f64) -> Result<()> {
[INFO] [stdout]   |                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_register`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]  --> src/ecs/systems/movement_system.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn update(register: &mut Registry, dt: f64) -> Result<()> {
[INFO] [stdout]   |                                            ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]  --> src/ecs/systems/render_system.rs:7:44
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn update(register: &mut Registry, dt: f64) -> Result<()> {
[INFO] [stdout]   |                                            ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]  --> src/ecs/systems/render_system.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 |         for entity in register.get_system_entities::<RenderSystem>()? {
[INFO] [stdout]   |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0502`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `engine` (bin "engine") due to 2 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6ebf23907c481ca703164031ae33f1cb6977e980ab76fe7d604001a823fc5442", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ebf23907c481ca703164031ae33f1cb6977e980ab76fe7d604001a823fc5442", kill_on_drop: false }`
[INFO] [stdout] 6ebf23907c481ca703164031ae33f1cb6977e980ab76fe7d604001a823fc5442
