[INFO] fetching crate thomas 0.2.4... [INFO] testing thomas-0.2.4 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate thomas 0.2.4 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate thomas 0.2.4 [INFO] finished tweaking crates.io crate thomas 0.2.4 [INFO] tweaked toml for crates.io crate thomas 0.2.4 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate thomas 0.2.4 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 63 packages to latest compatible versions [INFO] [stderr] Adding crossterm v0.26.1 (available: v0.29.0) [INFO] [stderr] Adding device_query v1.1.3 (available: v4.0.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded readmouse v0.2.1 [INFO] [stderr] Downloaded macos-accessibility-client v0.0.1 [INFO] [stderr] Downloaded readkey v0.1.7 [INFO] [stderr] Downloaded device_query v1.1.3 [INFO] [stderr] Downloaded thomas_derive v0.2.0 [INFO] [stderr] Downloaded x11 v2.21.0 [INFO] [stderr] Downloaded windows v0.46.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d55174e9a69fe7752deb37656456c5b2c3b0d556068b49a4a08540356c678b49 [INFO] running `Command { std: "docker" "start" "-a" "d55174e9a69fe7752deb37656456c5b2c3b0d556068b49a4a08540356c678b49", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d55174e9a69fe7752deb37656456c5b2c3b0d556068b49a4a08540356c678b49", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d55174e9a69fe7752deb37656456c5b2c3b0d556068b49a4a08540356c678b49", kill_on_drop: false }` [INFO] [stdout] d55174e9a69fe7752deb37656456c5b2c3b0d556068b49a4a08540356c678b49 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 23adb2284bab1bda60b32485c9509a60a9f1d11c7e91d7c1fd4f3a53674d60a2 [INFO] running `Command { std: "docker" "start" "-a" "23adb2284bab1bda60b32485c9509a60a9f1d11c7e91d7c1fd4f3a53674d60a2", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling cfg-if v1.0.3 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling x11 v2.21.0 [INFO] [stderr] Compiling device_query v1.1.3 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling crossterm v0.26.1 [INFO] [stderr] Compiling thomas_derive v0.2.0 [INFO] [stderr] Compiling thomas v0.2.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/data/matrix.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | let mut cell = &mut self.matrix[y as usize][x as usize]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/entity_manager.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn try_get(&self) -> Option> [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 32 | pub fn try_get(&self) -> Option> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/entity_manager.rs:48:27 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn try_get_mut(&self) -> Option> [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 48 | pub fn try_get_mut(&self) -> Option> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/entity_manager.rs:67:19 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn get(&self) -> Ref [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 67 | pub fn get(&self) -> Ref<'_, T> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/entity_manager.rs:81:23 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn get_mut(&self) -> RefMut [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn get_mut(&self) -> RefMut<'_, T> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/query.rs:138:45 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn get_only(&self) -> Ref { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 138 | pub fn get_only(&self) -> Ref<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/query.rs:147:49 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn get_only_mut(&self) -> RefMut { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 147 | pub fn get_only_mut(&self) -> RefMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/query.rs:152:49 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn try_get_only(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 152 | pub fn try_get_only(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/query.rs:161:53 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn try_get_only_mut(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 161 | pub fn try_get_only_mut(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.36s [INFO] running `Command { std: "docker" "inspect" "23adb2284bab1bda60b32485c9509a60a9f1d11c7e91d7c1fd4f3a53674d60a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "23adb2284bab1bda60b32485c9509a60a9f1d11c7e91d7c1fd4f3a53674d60a2", kill_on_drop: false }` [INFO] [stdout] 23adb2284bab1bda60b32485c9509a60a9f1d11c7e91d7c1fd4f3a53674d60a2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 73c290563c6b811435be6f909c4b899202c9caf36a3947b7334636a2011dc27d [INFO] running `Command { std: "docker" "start" "-a" "73c290563c6b811435be6f909c4b899202c9caf36a3947b7334636a2011dc27d", kill_on_drop: false }` [INFO] [stderr] Compiling thomas v0.2.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/data/matrix.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | let mut cell = &mut self.matrix[y as usize][x as usize]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/entity_manager.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn try_get(&self) -> Option> [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 32 | pub fn try_get(&self) -> Option> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/entity_manager.rs:48:27 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn try_get_mut(&self) -> Option> [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 48 | pub fn try_get_mut(&self) -> Option> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/entity_manager.rs:67:19 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn get(&self) -> Ref [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 67 | pub fn get(&self) -> Ref<'_, T> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/entity_manager.rs:81:23 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn get_mut(&self) -> RefMut [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn get_mut(&self) -> RefMut<'_, T> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/query.rs:138:45 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn get_only(&self) -> Ref { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 138 | pub fn get_only(&self) -> Ref<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/query.rs:147:49 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn get_only_mut(&self) -> RefMut { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 147 | pub fn get_only_mut(&self) -> RefMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/query.rs:152:49 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn try_get_only(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 152 | pub fn try_get_only(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/query.rs:161:53 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn try_get_only_mut(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 161 | pub fn try_get_only_mut(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/data/matrix.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | let mut cell = &mut self.matrix[y as usize][x as usize]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/entity_manager.rs:32:23 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn try_get(&self) -> Option> [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 32 | pub fn try_get(&self) -> Option> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/entity_manager.rs:48:27 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn try_get_mut(&self) -> Option> [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 48 | pub fn try_get_mut(&self) -> Option> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/entity_manager.rs:67:19 [INFO] [stdout] | [INFO] [stdout] 67 | pub fn get(&self) -> Ref [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 67 | pub fn get(&self) -> Ref<'_, T> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/entity_manager.rs:81:23 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn get_mut(&self) -> RefMut [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn get_mut(&self) -> RefMut<'_, T> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/query.rs:138:45 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn get_only(&self) -> Ref { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 138 | pub fn get_only(&self) -> Ref<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/query.rs:147:49 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn get_only_mut(&self) -> RefMut { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 147 | pub fn get_only_mut(&self) -> RefMut<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/query.rs:152:49 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn try_get_only(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 152 | pub fn try_get_only(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/core/query.rs:161:53 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn try_get_only_mut(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 161 | pub fn try_get_only_mut(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.69s [INFO] running `Command { std: "docker" "inspect" "73c290563c6b811435be6f909c4b899202c9caf36a3947b7334636a2011dc27d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "73c290563c6b811435be6f909c4b899202c9caf36a3947b7334636a2011dc27d", kill_on_drop: false }` [INFO] [stdout] 73c290563c6b811435be6f909c4b899202c9caf36a3947b7334636a2011dc27d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 80ccc7b0e39153f0d90e518e936ddbfcfe57f355916dd6dcd51e995d7344add0 [INFO] running `Command { std: "docker" "start" "-a" "80ccc7b0e39153f0d90e518e936ddbfcfe57f355916dd6dcd51e995d7344add0", kill_on_drop: false }` [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/core/data/matrix.rs:48:17 [INFO] [stderr] | [INFO] [stderr] 48 | let mut cell = &mut self.matrix[y as usize][x as usize]; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/core/entity_manager.rs:32:23 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn try_get(&self) -> Option> [INFO] [stderr] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 32 | pub fn try_get(&self) -> Option> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/core/entity_manager.rs:48:27 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn try_get_mut(&self) -> Option> [INFO] [stderr] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 48 | pub fn try_get_mut(&self) -> Option> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/core/entity_manager.rs:67:19 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn get(&self) -> Ref [INFO] [stderr] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 67 | pub fn get(&self) -> Ref<'_, T> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/core/entity_manager.rs:81:23 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn get_mut(&self) -> RefMut [INFO] [stderr] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 81 | pub fn get_mut(&self) -> RefMut<'_, T> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/core/query.rs:138:45 [INFO] [stderr] | [INFO] [stderr] 138 | pub fn get_only(&self) -> Ref { [INFO] [stderr] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 138 | pub fn get_only(&self) -> Ref<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/core/query.rs:147:49 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn get_only_mut(&self) -> RefMut { [INFO] [stderr] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 147 | pub fn get_only_mut(&self) -> RefMut<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/core/query.rs:152:49 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn try_get_only(&self) -> Option> { [INFO] [stderr] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 152 | pub fn try_get_only(&self) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/core/query.rs:161:53 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn try_get_only_mut(&self) -> Option> { [INFO] [stderr] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 161 | pub fn try_get_only_mut(&self) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `thomas` (lib) generated 9 warnings (run `cargo fix --lib -p thomas` to apply 9 suggestions) [INFO] [stderr] warning: `thomas` (lib test) generated 9 warnings (9 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/thomas-b02e6392049f6a14) [INFO] [stdout] [INFO] [stdout] running 157 tests [INFO] [stdout] test components::physics::terminal::comp_terminal_collision::tests::test_is_collision_between::is_false_when_both_layers_are_absent ... ok [INFO] [stdout] test components::physics::terminal::comp_terminal_collision::tests::test_is_collision_between::is_true_when_checking_for_collision_on_same_layer_and_both_bodies_have_the_correct_layer ... ok [INFO] [stdout] test components::physics::terminal::comp_terminal_collision::tests::test_is_collision_between::is_true_when_both_layers_are_present ... ok [INFO] [stdout] test components::physics::terminal::comp_terminal_collision::tests::test_is_collision_between::is_false_when_checking_for_collision_on_same_layer_and_only_one_body_has_the_correct_layer ... ok [INFO] [stdout] test components::physics::terminal::comp_terminal_collision::tests::test_is_collision_between::is_false_when_only_one_layer_is_present ... ok [INFO] [stdout] test core::data::coords::tests::add::no_change ... ok [INFO] [stdout] test core::data::coords::tests::add::works_with_mixed_values ... ok [INFO] [stdout] test components::services::comp_input::tests::key_state::equality_works ... ok [INFO] [stdout] test core::data::coords::tests::add::works_with_positive_values ... ok [INFO] [stdout] test core::data::coords::tests::add::works_with_negative_values ... ok [INFO] [stdout] test core::data::coords::tests::subtract::works_with_negative_values ... ok [INFO] [stdout] test core::data::coords::tests::subtract::works_with_positive_values ... ok [INFO] [stdout] test core::data::layer::tests::is_above::returns_false_when_source_is_not_above_other ... ok [INFO] [stdout] test core::data::layer::tests::is_above::returns_true_when_source_is_above_other ... ok [INFO] [stdout] test core::data::layer::tests::is_below::returns_false_when_source_is_not_below_other ... ok [INFO] [stdout] test core::data::layer::tests::below::it_produces_a_value_below_the_provided_layer ... ok [INFO] [stdout] test core::data::layer::tests::is_with::returns_false_when_source_is_above_other ... ok [INFO] [stdout] test core::data::layer::tests::is_with::returns_true_when_source_with_other ... ok [INFO] [stdout] test core::data::layer::tests::with::it_produces_a_value_with_the_provided_layer ... ok [INFO] [stdout] test core::entity::tests::test_new::new_entities_have_different_ids ... ok [INFO] [stdout] test core::data::coords::tests::subtract::no_change ... ok [INFO] [stdout] test core::data::matrix::tests::test_eq::two_equivalent_matrices_are_equal ... ok [INFO] [stdout] test core::entity_manager::tests::test_add_component_to_entity::component_is_correctly_added_on_an_existing_entity ... ok [INFO] [stdout] test core::data::coords::tests::subtract::works_with_mixed_values ... ok [INFO] [stdout] test core::data::matrix::tests::test_eq::two_matrices_of_different_sizes_are_not_equal ... ok [INFO] [stdout] test core::entity_manager::tests::test_add_component_to_entity::nothing_happens_when_adding_a_component_to_an_entity_that_it_already_has ... ok [INFO] [stdout] test core::entity_manager::tests::test_add_component_to_entity::nothing_happens_when_adding_to_a_nonexistent_entity ... ok [INFO] [stdout] test core::data::matrix::tests::test_iter::it_iterates_from_top_left_to_bottom_right ... ok [INFO] [stdout] test components::services::comp_time::tests::delta_time::has_difference_after_elapsed_time ... ok [INFO] [stdout] test core::entity_manager::tests::test_entity_components_pass_all_predicates::is_false_when_all_predicates_fail ... ok [INFO] [stdout] test core::data::matrix::tests::test_eq::two_different_matrices_are_not_equal ... ok [INFO] [stdout] test core::entity_manager::tests::test_entity_components_pass_all_predicates::is_false_when_any_predicate_fails ... ok [INFO] [stdout] test core::entity_manager::tests::test_add_entity::can_add_a_component_with_the_entity ... ok [INFO] [stdout] test core::entity_manager::tests::test_add_entity::ids_are_reused_when_available ... ok [INFO] [stdout] test core::data::layer::tests::is_with::returns_false_when_source_is_below_other ... ok [INFO] [stdout] test core::entity_manager::tests::test_add_entity::can_add_multiple_components_with_the_entity ... ok [INFO] [stdout] test core::entity_manager::tests::test_entity_components_pass_all_predicates::is_true_when_all_predicates_pass ... ok [INFO] [stdout] test core::entity_manager::tests::test_add_entity::returns_entity_and_adds_to_maps ... ok [INFO] [stdout] test core::data::layer::tests::above::it_produces_a_value_above_the_provided_layer ... ok [INFO] [stdout] test core::data::layer::tests::is_below::returns_true_when_source_is_below_other ... ok [INFO] [stdout] test core::data::matrix::tests::test_update_cell_at::it_updates_the_cell_with_provided_info ... ok [INFO] [stdout] test core::entity_manager::tests::test_entity_components_pass_all_predicates::is_true_when_there_are_no_predicates ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::is_empty_for_non_existent_entity ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::is_empty_for_entity_with_no_components ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::is_empty_when_no_search_components_are_provided ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::works_when_searching_for_multiple_components_on_entity_with_multiple_components ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::works_when_searching_for_multiple_components_on_entity_with_one_component ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_component::is_empty_when_no_entities_have_the_provided_component ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::works_when_searching_for_one_component_on_entity_with_multiple_components ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_components::is_empty_when_there_are_no_entities ... ok [INFO] [stdout] test core::entity_manager::tests::test_intersection::is_empty_when_there_are_no_intersections ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_components::works_when_one_entity_has_all_provided_components ... ok [INFO] [stdout] test core::entity_manager::tests::test_intersection::is_empty_when_there_are_no_vectors ... ok [INFO] [stdout] test core::entity_manager::tests::test_intersection::is_empty_when_there_is_only_one_vector ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_component::works_when_multiple_entities_match ... ok [INFO] [stdout] test core::entity_manager::tests::test_intersection::reports_intersections_for_more_than_two_vectors ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_components::works_when_multiple_entities_have_all_provided_components ... ok [INFO] [stdout] test core::entity_manager::tests::test_intersection::reports_intersections_for_two_vectors ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_components::returns_entity_list_for_component_when_searching_for_one_component ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_component::is_empty_when_there_are_no_entities ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_components_on_entity::works_when_searching_for_one_component_on_entity_with_that_component ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_components::is_empty_when_no_entities_have_provided_components ... ok [INFO] [stdout] test components::services::comp_input::tests::key_state::inequality_works ... ok [INFO] [stdout] test core::entity_manager::tests::test_query::with_forbidden_components::query_has_no_results_when_the_forbidden_components_remove_all_potential_matches ... ok [INFO] [stdout] test core::data::coords::tests::values::in_correct_order ... ok [INFO] [stdout] test core::entity_manager::tests::test_query::with_forbidden_components::query_returns_only_relevant_matches ... ok [INFO] [stdout] test core::entity_manager::tests::test_query::without_forbidden_components::complex_query_for_more_than_one_component_match_works ... ok [INFO] [stdout] test core::entity_manager::tests::test_query::with_forbidden_components::where_clauses_exclude_any_potential_matches_that_fail_the_predicate ... ok [INFO] [stdout] test core::entity_manager::tests::test_get_entities_with_component::works_when_one_entity_matches ... ok [INFO] [stdout] test core::data::matrix::tests::test_update_cell_at::it_does_nothing_when_given_a_bad_coord ... ok [INFO] [stdout] test core::entity_manager::tests::test_remove_component_from_entity::removing_a_component_on_a_nonexistent_entity_has_no_effect ... ok [INFO] [stdout] test core::entity_manager::tests::test_remove_component_from_entity::removing_a_component_that_does_not_exist_on_the_entity_has_no_effect ... ok [INFO] [stdout] test core::entity_manager::tests::test_remove_component_from_entity::removing_from_an_existent_entity_succeeds ... ok [INFO] [stdout] test core::entity_manager::tests::test_remove_entity::removing_a_nonexistent_entity_does_nothing ... ok [INFO] [stdout] test core::entity_manager::tests::test_query::without_forbidden_components::can_mutate_queried_components ... ok [INFO] [stdout] test core::entity_manager::tests::test_query::without_forbidden_components::where_clauses_exclude_any_potential_matches_that_fail_the_predicate ... ok [INFO] [stdout] test core::entity_manager::tests::test_query::without_forbidden_components::query_returns_only_relevant_matches ... ok [INFO] [stdout] test core::entity_manager::tests::test_remove_entity::removing_an_entity_makes_its_id_available ... ok [INFO] [stdout] test core::entity_manager::tests::test_query::without_forbidden_components::can_read_queried_components ... ok [INFO] [stdout] test core::game::tests::test_trigger_event::systems_have_access_to_commands ... ok [INFO] [stdout] test core::game::tests::test_trigger_event::triggering_event_calls_all_systems ... ok [INFO] [stdout] test core::game::tests::test_add_system::can_add_to_builtin_events ... ok [INFO] [stdout] test core::game::tests::test_add_systems_from_generator::adds_all_systems_specified_in_generated_map ... ok [INFO] [stdout] test core::game::tests::test_process_command_queue::queue_is_empty_after_processing ... ok [INFO] [stdout] test core::query::tests::test_get::gives_back_component_when_it_is_present_in_the_results ... ok [INFO] [stdout] test core::query::tests::test_get_mut::can_mutate_returned_component ... ok [INFO] [stdout] test core::game::tests::test_sort_systems_by_priority::should_sort_by_priority_with_lower_numbers_at_the_front ... ok [INFO] [stdout] test core::game::tests::test_process_command_queue::quit ... ok [INFO] [stdout] test core::query::tests::test_try_get::gives_back_component_when_it_is_present_in_the_results ... ok [INFO] [stdout] test core::query::tests::test_try_get_mut::can_mutate_returned_component ... ok [INFO] [stdout] test core::query::tests::test_try_get_mut::is_none_when_component_is_not_present_in_the_results ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_convert_world_position_to_screen_position::screen_positions_are_correct_with_camera_negative_y_offset ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_convert_world_position_to_screen_position::screen_positions_are_correct_with_camera_negative_x_offset ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_convert_world_position_to_screen_position::screen_positions_are_correct_with_camera_positive_x_offset ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_convert_world_position_to_screen_position::screen_positions_are_equivalent_with_no_camera_offset ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_convert_world_position_to_screen_position::screen_positions_are_correct_with_camera_positive_y_offset ... ok [INFO] [stdout] test core::entity_manager::tests::test_stored_component_list::can_borrow_multiple_different_components_mutably_at_the_same_time ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_cell_data_to_display::the_topmost_cell_data_is_used ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_crossterm_color::color_code_is_correct_when_color_is_provided ... ok [INFO] [stdout] test core::game::tests::test_add_system::can_add_to_custom_event ... ok [INFO] [stdout] test core::entity_manager::tests::test_remove_entity::can_remove_an_entity_that_has_no_components ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_cell_data_to_display::the_first_some_background_color_used_when_topmost_background_color_is_none ... ok [INFO] [stdout] test core::entity_manager::tests::test_remove_entity::can_remove_an_existing_entity ... ok [INFO] [stdout] test core::query::tests::test_try_get::is_none_when_component_is_not_present_in_the_results ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_cell_data_to_display::the_topmost_background_color_is_used_when_not_none ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_crossterm_color::color_code_is_correct_when_default_color_is_provided ... ok [INFO] [stdout] test core::entity_manager::tests::test_query::with_forbidden_components::can_mutate_queried_components ... ok [INFO] [stdout] test core::entity_manager::tests::test_query::with_forbidden_components::can_read_queried_components ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_on_screen_bottom_edge_are_present ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_crossterm_color::color_code_is_correct_when_only_default_color_is_provided ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_just_out_of_view_on_right_edge_are_absent ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_get_crossterm_color::color_code_is_reset_when_no_colors_are_provided ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_in_view_are_present ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_on_screen_right_edge_are_present ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_just_out_of_view_on_bottom_edge_are_absent ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_just_out_of_view_on_top_edge_are_absent ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_just_out_of_view_on_left_are_absent ... ok [INFO] [stdout] test core::entity_manager::tests::test_query::with_forbidden_components::complex_query_for_more_than_one_component_match_works ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_on_screen_left_edge_are_present ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::higher_layer_renderable_appears_over_others_when_renderables_overlap ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_in_view_are_present ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_just_out_of_view_on_bottom_edge_are_absent ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_just_out_of_view_on_left_are_absent ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::with_camera_offset::renderables_on_screen_top_edge_are_present ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_just_out_of_view_on_right_edge_are_absent ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_terminal_renderer_matrix_cell_equality::cells_with_different_background_color_are_not_equal ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_just_out_of_view_on_top_edge_are_absent ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_on_screen_bottom_edge_are_present ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_on_screen_left_edge_are_present ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_on_screen_right_edge_are_present ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_terminal_renderer_matrix_cell_equality::cells_with_different_display_are_not_equal ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_terminal_renderer_matrix_cell_equality::cells_with_different_foreground_color_are_not_equal ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_terminal_renderer_matrix_cell_equality::cells_with_different_layer_are_not_equal ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_terminal_renderer_matrix_cell_equality::equivalent_cells_are_equal ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_bottom_left ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_bottom_right ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_middle_left ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_middle_bottom ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_top_right ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_middle_bottom ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_bottom_right ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_middle_left ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_middle_right ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_middle_top ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_top_left ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::world_text::text_goes_to_the_correct_position_with_offset_camera ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_top_right ... ok [INFO] [stdout] test systems::sys_terminal_renderer::tests::test_make_render_matrix::without_camera_offset::renderables_on_screen_top_edge_are_present ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::world_text::text_goes_to_the_correct_position_with_origin_camera ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_middle_right ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_middle_top ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_at_origin::pos_is_correct_for_top_left ... ok [INFO] [stdout] test systems::sys_terminal_ui_renderer::tests::test_update_text_ui::text::with_camera_offset_from_origin::pos_is_correct_for_bottom_left ... ok [INFO] [stdout] test core::entity_manager::tests::test_stored_component_list::panics_when_trying_to_borrow_a_component_that_is_not_present - should panic ... ok [INFO] [stdout] test core::entity_manager::tests::test_stored_component_list::panics_when_trying_to_borrow_the_same_component_mutably_more_than_once - should panic ... ok [INFO] [stdout] test core::query::tests::test_get::panics_when_component_is_not_present_in_the_results - should panic ... ok [INFO] [stdout] test core::query::tests::test_get_mut::panics_when_component_is_not_present_in_the_results - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 157 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Doc-tests thomas [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test src/core/system.rs - core::system::System::new (line 33) ... ok [INFO] [stdout] test src/core/system.rs - core::system::System::new (line 46) ... ok [INFO] [stdout] test src/core/component.rs - core::component::Component (line 6) ... ok [INFO] [stdout] test src/core/game.rs - core::game::Game (line 45) ... ok [INFO] [stdout] test src/core/query.rs - core::query::Query (line 14) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.69s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "80ccc7b0e39153f0d90e518e936ddbfcfe57f355916dd6dcd51e995d7344add0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "80ccc7b0e39153f0d90e518e936ddbfcfe57f355916dd6dcd51e995d7344add0", kill_on_drop: false }` [INFO] [stdout] 80ccc7b0e39153f0d90e518e936ddbfcfe57f355916dd6dcd51e995d7344add0