[INFO] cloning repository https://github.com/raniejade/yahmc [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/raniejade/yahmc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Franiejade%2Fyahmc", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Franiejade%2Fyahmc'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3db12f9634869d4b6d83e845b7c48d9a8d649b83 [INFO] checking raniejade/yahmc/3db12f9634869d4b6d83e845b7c48d9a8d649b83 against master#bbefc9837f4157cc09ed60e6d7b21e345d582dd9 for pr-114571-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Franiejade%2Fyahmc" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/raniejade/yahmc on toolchain bbefc9837f4157cc09ed60e6d7b21e345d582dd9 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bbefc9837f4157cc09ed60e6d7b21e345d582dd9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/raniejade/yahmc [INFO] finished tweaking git repo https://github.com/raniejade/yahmc [INFO] tweaked toml for git repo https://github.com/raniejade/yahmc written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/raniejade/yahmc 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" "+bbefc9837f4157cc09ed60e6d7b21e345d582dd9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rlua v0.13.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bbefc9837f4157cc09ed60e6d7b21e345d582dd9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ac9b2383d3b44ed001a07a225ef1b9bfa4188bb35aef7624c7005e13b9b4e05a [INFO] running `Command { std: "docker" "start" "-a" "ac9b2383d3b44ed001a07a225ef1b9bfa4188bb35aef7624c7005e13b9b4e05a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ac9b2383d3b44ed001a07a225ef1b9bfa4188bb35aef7624c7005e13b9b4e05a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ac9b2383d3b44ed001a07a225ef1b9bfa4188bb35aef7624c7005e13b9b4e05a", kill_on_drop: false }` [INFO] [stdout] ac9b2383d3b44ed001a07a225ef1b9bfa4188bb35aef7624c7005e13b9b4e05a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bbefc9837f4157cc09ed60e6d7b21e345d582dd9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b7d350fee27a9cf9becef5968d46633288ced1eb4fdd65ad0e686f512e50b6ab [INFO] running `Command { std: "docker" "start" "-a" "b7d350fee27a9cf9becef5968d46633288ced1eb4fdd65ad0e686f512e50b6ab", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Checking cfg-if v0.1.2 [INFO] [stderr] Checking libc v0.2.40 [INFO] [stderr] Compiling cc v1.0.9 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking byteorder v1.2.2 [INFO] [stderr] Checking bit-vec v0.5.0 [INFO] [stderr] Checking log v0.4.1 [INFO] [stderr] Compiling proc-macro2 v0.3.5 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Checking bit-set v0.5.0 [INFO] [stderr] Checking mopa v0.2.2 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling either v1.5.0 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Compiling syn v0.10.8 [INFO] [stderr] Checking rustc-demangle v0.1.7 [INFO] [stderr] Compiling itertools v0.5.10 [INFO] [stderr] Compiling gcc v0.3.54 [INFO] [stderr] Compiling quote v0.5.1 [INFO] [stderr] Compiling syn v0.13.1 [INFO] [stderr] Checking time v0.1.39 [INFO] [stderr] Checking num-traits v0.2.2 [INFO] [stderr] Compiling backtrace-sys v0.1.16 [INFO] [stderr] Checking simple_logger v0.5.0 [INFO] [stderr] Compiling synstructure v0.6.1 [INFO] [stderr] Compiling rlua v0.13.0 [INFO] [stderr] Checking float-cmp v0.4.0 [INFO] [stderr] Checking ecs2 v0.1.0 (/opt/rustwide/workdir/ecs2) [INFO] [stdout] warning: unused import: `Any` [INFO] [stdout] --> ecs2/src/component.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::any::{Any, TypeId}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell`, `RefMut` [INFO] [stdout] --> ecs2/src/component.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cell::{RefCell, RefMut}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `component::Component` [INFO] [stdout] --> ecs2/src/context.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use component::Component; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> ecs2/src/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aspect::Aspect` [INFO] [stdout] --> ecs2/src/lib.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use aspect::Aspect; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs2/src/resource.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | inner: Ref<'a, Box>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | inner: Ref<'a, Box>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs2/src/resource.rs:48:27 [INFO] [stdout] | [INFO] [stdout] 48 | inner: RefMut<'a, Box>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 | inner: RefMut<'a, Box>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs2/src/resource.rs:74:50 [INFO] [stdout] | [INFO] [stdout] 74 | resources: FxHashMap>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 | resources: FxHashMap>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs2/src/system.rs:31:22 [INFO] [stdout] | [INFO] [stdout] 31 | systems: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | systems: Vec>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs2/src/resource.rs:136:69 [INFO] [stdout] | [INFO] [stdout] 136 | fn try_fetch_internal(&self, id: TypeId) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 136 | fn try_fetch_internal(&self, id: TypeId) -> Option<&RefCell>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Any` [INFO] [stdout] --> ecs2/src/component.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::any::{Any, TypeId}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell`, `RefMut` [INFO] [stdout] --> ecs2/src/component.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cell::{RefCell, RefMut}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `component::Component` [INFO] [stdout] --> ecs2/src/context.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use component::Component; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> ecs2/src/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `aspect::Aspect` [INFO] [stdout] --> ecs2/src/lib.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use aspect::Aspect; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs2/src/resource.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | inner: Ref<'a, Box>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | inner: Ref<'a, Box>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs2/src/resource.rs:48:27 [INFO] [stdout] | [INFO] [stdout] 48 | inner: RefMut<'a, Box>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 | inner: RefMut<'a, Box>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs2/src/resource.rs:74:50 [INFO] [stdout] | [INFO] [stdout] 74 | resources: FxHashMap>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 | resources: FxHashMap>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs2/src/system.rs:31:22 [INFO] [stdout] | [INFO] [stdout] 31 | systems: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 31 | systems: Vec>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs2/src/resource.rs:136:69 [INFO] [stdout] | [INFO] [stdout] 136 | fn try_fetch_internal(&self, id: TypeId) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 136 | fn try_fetch_internal(&self, id: TypeId) -> Option<&RefCell>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `manager` [INFO] [stdout] --> ecs2/src/aspect.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn check(&self, manager: &ComponentManager, bits: &BitSet) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manager` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ecs2/src/entity.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn destroy(mut self) { [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] --> ecs2/src/entity.rs:47:19 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn commit(mut self) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> ecs2/src/entity.rs:95:37 [INFO] [stdout] | [INFO] [stdout] 95 | fn add(&mut self, entity: Entity, component: T) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `component` [INFO] [stdout] --> ecs2/src/entity.rs:95:53 [INFO] [stdout] | [INFO] [stdout] 95 | fn add(&mut self, entity: Entity, component: T) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_component` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> ecs2/src/entity.rs:99:40 [INFO] [stdout] | [INFO] [stdout] 99 | fn remove(&mut self, entity: Entity) -> T { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> ecs2/src/entity.rs:103:38 [INFO] [stdout] | [INFO] [stdout] 103 | fn contains(&self, entity: Entity) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> ecs2/src/entity.rs:107:33 [INFO] [stdout] | [INFO] [stdout] 107 | fn get(&self, entity: Entity) -> Option<&T> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> ecs2/src/entity.rs:111:41 [INFO] [stdout] | [INFO] [stdout] 111 | fn get_mut(&mut self, entity: Entity) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `manager` [INFO] [stdout] --> ecs2/src/aspect.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn check(&self, manager: &ComponentManager, bits: &BitSet) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_manager` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `component_manager` [INFO] [stdout] --> ecs2/src/entity.rs:179:26 [INFO] [stdout] | [INFO] [stdout] 179 | fn remove(&mut self, component_manager: &ComponentManager, entity: Entity) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_component_manager` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `entity_manager` and `dispatcher` are never read [INFO] [stdout] --> ecs2/src/lib.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct World<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 24 | entity_manager: EntityManager, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 25 | dispatcher: SystemDispatcher<'a> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RESOURCE_NOT_FOUND` is never used [INFO] [stdout] --> ecs2/src/resource.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const RESOURCE_NOT_FOUND: &str = "No resource with the given id"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> ecs2/src/resource.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl ResourceId { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 26 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `resources` is never read [INFO] [stdout] --> ecs2/src/resource.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct Resources { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 74 | resources: FxHashMap>>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> ecs2/src/resource.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 77 | impl Resources { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 78 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn add(&mut self, resource: R) [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn has_value(&self, res_id: ResourceId) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn fetch(&self) -> Fetch [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn try_fetch(&self) -> Option> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn fetch_mut(&self) -> FetchMut [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn try_fetch_mut(&self) -> Option> [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | fn try_fetch_internal(&self, id: TypeId) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> ecs2/src/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl<'a> InternalContext<'a> { [INFO] [stdout] | ---------------------------- associated function in this implementation [INFO] [stdout] 16 | pub fn new(entity_manager: &'a mut EntityManager) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `register` are never used [INFO] [stdout] --> ecs2/src/entity.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl EntityManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 61 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn register(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> ecs2/src/entity.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 133 | impl EntityStates { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 134 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `register` are never used [INFO] [stdout] --> ecs2/src/entity.rs:153:8 [INFO] [stdout] | [INFO] [stdout] 152 | impl AspectIndex { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 153 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | fn register(&mut self, component_manager: &ComponentManager) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> ecs2/src/entity.rs:209:8 [INFO] [stdout] | [INFO] [stdout] 208 | impl EntityStorage { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 209 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> ecs2/src/storage/vec.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 9 | / impl VecStorage [INFO] [stdout] 10 | | where [INFO] [stdout] 11 | | T: Component, [INFO] [stdout] | |_________________- associated function in this implementation [INFO] [stdout] 12 | { [INFO] [stdout] 13 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `dispatch` are never used [INFO] [stdout] --> ecs2/src/system.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl<'a> SystemDispatcher<'a> { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 35 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn dispatch(&mut self, context: &mut InternalContext, duration: Duration) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> ecs2/src/storage/vec.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | mem::replace(&mut self.components[index], component); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 58 | let _ = mem::replace(&mut self.components[index], component); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ecs2/src/aspect.rs:208:13 [INFO] [stdout] | [INFO] [stdout] 208 | let mut bits = BitSet::new(); [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] --> ecs2/src/entity.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn destroy(mut self) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ecs2/src/entity.rs:47:19 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn commit(mut self) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> ecs2/src/entity.rs:95:37 [INFO] [stdout] | [INFO] [stdout] 95 | fn add(&mut self, entity: Entity, component: T) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `component` [INFO] [stdout] --> ecs2/src/entity.rs:95:53 [INFO] [stdout] | [INFO] [stdout] 95 | fn add(&mut self, entity: Entity, component: T) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_component` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> ecs2/src/entity.rs:99:40 [INFO] [stdout] | [INFO] [stdout] 99 | fn remove(&mut self, entity: Entity) -> T { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> ecs2/src/entity.rs:103:38 [INFO] [stdout] | [INFO] [stdout] 103 | fn contains(&self, entity: Entity) -> bool { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> ecs2/src/entity.rs:107:33 [INFO] [stdout] | [INFO] [stdout] 107 | fn get(&self, entity: Entity) -> Option<&T> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> ecs2/src/entity.rs:111:41 [INFO] [stdout] | [INFO] [stdout] 111 | fn get_mut(&mut self, entity: Entity) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `component_manager` [INFO] [stdout] --> ecs2/src/entity.rs:179:26 [INFO] [stdout] | [INFO] [stdout] 179 | fn remove(&mut self, component_manager: &ComponentManager, entity: Entity) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_component_manager` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ecs2/src/entity.rs:358:13 [INFO] [stdout] | [INFO] [stdout] 358 | let mut index = AspectIndex::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ecs2/src/storage/vec.rs:90:13 [INFO] [stdout] | [INFO] [stdout] 90 | let mut storage: VecStorage = VecStorage::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `duration` [INFO] [stdout] --> ecs2/src/system.rs:74:59 [INFO] [stdout] | [INFO] [stdout] 74 | fn process(&mut self, context: &mut impl Context, duration: Duration, entities: Vec) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> ecs2/src/system.rs:88:31 [INFO] [stdout] | [INFO] [stdout] 88 | fn process(&mut self, context: &mut impl Context, duration: Duration, entities: Vec) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `duration` [INFO] [stdout] --> ecs2/src/system.rs:88:59 [INFO] [stdout] | [INFO] [stdout] 88 | fn process(&mut self, context: &mut impl Context, duration: Duration, entities: Vec) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entities` [INFO] [stdout] --> ecs2/src/system.rs:88:79 [INFO] [stdout] | [INFO] [stdout] 88 | fn process(&mut self, context: &mut impl Context, duration: Duration, entities: Vec) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entities` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling failure_derive v0.1.1 [INFO] [stdout] warning: fields `entity_manager` and `dispatcher` are never read [INFO] [stdout] --> ecs2/src/lib.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct World<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 24 | entity_manager: EntityManager, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 25 | dispatcher: SystemDispatcher<'a> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `register` is never used [INFO] [stdout] --> ecs2/src/entity.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl EntityManager { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn register(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used [INFO] [stdout] --> ecs2/src/storage/vec.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | mem::replace(&mut self.components[index], component); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you don't need the old value, you can just assign the new value directly [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 58 | let _ = mem::replace(&mut self.components[index], component); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking ecs_derive v0.1.0 (/opt/rustwide/workdir/ecs_derive) [INFO] [stderr] Compiling derivative v1.0.0 [INFO] [stderr] Checking ecs v0.1.0 (/opt/rustwide/workdir/ecs) [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> ecs/src/lib.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> ecs/src/component/storage/mod.rs:58:39 [INFO] [stdout] | [INFO] [stdout] 58 | mem::swap(&mut component, { self.1.get_mut(index) }) [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 58 - mem::swap(&mut component, { self.1.get_mut(index) }) [INFO] [stdout] 58 + mem::swap(&mut component, self.1.get_mut(index)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::join::Join` [INFO] [stdout] --> ecs/src/entity.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::join::Join; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around function argument [INFO] [stdout] --> ecs/src/component/storage/mod.rs:58:39 [INFO] [stdout] | [INFO] [stdout] 58 | mem::swap(&mut component, { self.1.get_mut(index) }) [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 58 - mem::swap(&mut component, { self.1.get_mut(index) }) [INFO] [stdout] 58 + mem::swap(&mut component, self.1.get_mut(index)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::join::Join` [INFO] [stdout] --> ecs/src/entity.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::join::Join; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs/src/resource.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | inner: Ref<'a, Box>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | inner: Ref<'a, Box>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs/src/resource.rs:48:27 [INFO] [stdout] | [INFO] [stdout] 48 | inner: RefMut<'a, Box>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 | inner: RefMut<'a, Box>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs/src/resource.rs:74:50 [INFO] [stdout] | [INFO] [stdout] 74 | resources: FxHashMap>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 | resources: FxHashMap>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs/src/lib.rs:64:22 [INFO] [stdout] | [INFO] [stdout] 64 | systems: Vec + 'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 | systems: Vec + 'a>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs/src/resource.rs:136:69 [INFO] [stdout] | [INFO] [stdout] 136 | fn try_fetch_internal(&self, id: TypeId) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 136 | fn try_fetch_internal(&self, id: TypeId) -> Option<&RefCell>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs/src/resource.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | inner: Ref<'a, Box>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | inner: Ref<'a, Box>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs/src/resource.rs:48:27 [INFO] [stdout] | [INFO] [stdout] 48 | inner: RefMut<'a, Box>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 48 | inner: RefMut<'a, Box>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs/src/resource.rs:74:50 [INFO] [stdout] | [INFO] [stdout] 74 | resources: FxHashMap>>, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 74 | resources: FxHashMap>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs/src/lib.rs:64:22 [INFO] [stdout] | [INFO] [stdout] 64 | systems: Vec + 'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 64 | systems: Vec + 'a>>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> ecs/src/resource.rs:136:69 [INFO] [stdout] | [INFO] [stdout] 136 | fn try_fetch_internal(&self, id: TypeId) -> Option<&RefCell>> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 136 | fn try_fetch_internal(&self, id: TypeId) -> Option<&RefCell>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::join::Join` [INFO] [stdout] --> ecs/src/component/storage/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use super::super::join::Join; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::join::Join` [INFO] [stdout] --> ecs/src/component/storage/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use super::super::join::Join; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ecs/src/component/storage/builtin/vec.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | let mut storage: VecStorage = VecStorage::new(); [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] --> ecs/src/entity.rs:84:13 [INFO] [stdout] | [INFO] [stdout] 84 | let mut entity_storage = EntityStorage::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ecs/src/entity.rs:91:13 [INFO] [stdout] | [INFO] [stdout] 91 | let mut entity_storage = EntityStorage::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ecs/src/entity.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | let mut entity_storage = EntityStorage::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ecs/src/entity.rs:109:13 [INFO] [stdout] | [INFO] [stdout] 109 | let mut entity_storage = EntityStorage::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ecs/src/entity.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | let mut entity_storage = EntityStorage::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entities` [INFO] [stdout] --> ecs/tests/component_registration.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | fn run(&mut self, (entities, mut components): Self::SystemData) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entities` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `components` [INFO] [stdout] --> ecs/tests/component_registration.rs:20:38 [INFO] [stdout] | [INFO] [stdout] 20 | fn run(&mut self, (entities, mut components): Self::SystemData) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_components` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ecs/tests/component_registration.rs:20:34 [INFO] [stdout] | [INFO] [stdout] 20 | fn run(&mut self, (entities, mut components): Self::SystemData) { [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] --> ecs/tests/component_registration.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | let mut world = World::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `join` exists for tuple `(Fetch<'a, EntityStorage>, Storage<'a, MyComponent, FetchMut<'a, MaskedStorage>>)`, but its trait bounds were not satisfied [INFO] [stdout] --> ecs/tests/join.rs:22:66 [INFO] [stdout] | [INFO] [stdout] 22 | for (entity, mut my_component) in (entities, components).join() { [INFO] [stdout] | ^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/ecs/src/component/mod.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct Storage<'a, T, D> [INFO] [stdout] | ---------------------------- doesn't satisfy `_: Join` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/ecs/src/resource.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct Fetch<'a, T: 'a> { [INFO] [stdout] | --------------------------- doesn't satisfy `Fetch<'_, EntityStorage>: ecs::join::Join` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `Fetch<'_, EntityStorage>: ecs::join::Join` [INFO] [stdout] which is required by `(Fetch<'_, EntityStorage>, Storage<'_, MyComponent, FetchMut<'_, MaskedStorage>>): ecs::join::Join` [INFO] [stdout] `Storage<'_, MyComponent, FetchMut<'_, MaskedStorage>>: ecs::join::Join` [INFO] [stdout] which is required by `(Fetch<'_, EntityStorage>, Storage<'_, MyComponent, FetchMut<'_, MaskedStorage>>): ecs::join::Join` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ecs::join::Join` [INFO] [stdout] --> ecs/tests/join.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use ecs::join::Join; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0599`. [INFO] [stdout] [INFO] [stderr] error: could not compile `ecs` (test "join") due to 2 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "b7d350fee27a9cf9becef5968d46633288ced1eb4fdd65ad0e686f512e50b6ab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b7d350fee27a9cf9becef5968d46633288ced1eb4fdd65ad0e686f512e50b6ab", kill_on_drop: false }` [INFO] [stdout] b7d350fee27a9cf9becef5968d46633288ced1eb4fdd65ad0e686f512e50b6ab