[INFO] crate amethyst_ecs 0.1.1 is already in cache [INFO] extracting crate amethyst_ecs 0.1.1 into work/ex/clippy-test-run/sources/stable/reg/amethyst_ecs/0.1.1 [INFO] extracting crate amethyst_ecs 0.1.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/amethyst_ecs/0.1.1 [INFO] validating manifest of amethyst_ecs-0.1.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of amethyst_ecs-0.1.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing amethyst_ecs-0.1.1 [INFO] finished frobbing amethyst_ecs-0.1.1 [INFO] frobbed toml for amethyst_ecs-0.1.1 written to work/ex/clippy-test-run/sources/stable/reg/amethyst_ecs/0.1.1/Cargo.toml [INFO] started frobbing amethyst_ecs-0.1.1 [INFO] finished frobbing amethyst_ecs-0.1.1 [INFO] frobbed toml for amethyst_ecs-0.1.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/amethyst_ecs/0.1.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting amethyst_ecs-0.1.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/amethyst_ecs/0.1.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] c782d5d5cfd4e920a51dfa576b6f698dfb2e862b9c7a2332c11f490e8ce3fdc1 [INFO] running `"docker" "start" "-a" "c782d5d5cfd4e920a51dfa576b6f698dfb2e862b9c7a2332c11f490e8ce3fdc1"` [INFO] [stderr] Checking amethyst_ecs v0.1.1 (/opt/crater/workdir) [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/world.rs:41:21 [INFO] [stderr] | [INFO] [stderr] 41 | for (a, b) in data { [INFO] [stderr] | ^ help: consider using `_b` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sim.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | let mut next_state = world; [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/world.rs:94:21 [INFO] [stderr] | [INFO] [stderr] 94 | if let Some(mut c) = self.components.get_mut(&TypeId::of::<(Entity, T)>()) { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `num_alive` [INFO] [stderr] --> src/entity.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn num_alive(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/dynvec.rs:33:18 [INFO] [stderr] | [INFO] [stderr] 33 | Some(transmute::<&u8, &T>(self.vec.index(i * self.size))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self.vec.index(i * self.size) as *const u8 as *const T)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/dynvec.rs:44:18 [INFO] [stderr] | [INFO] [stderr] 44 | Some(transmute::<&mut u8, &mut T>(self.vec.index_mut(i * self.size))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(self.vec.index_mut(i * self.size) as *mut u8 as *mut T)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/dynvec.rs:56:53 [INFO] [stderr] | [INFO] [stderr] 56 | let slice: &[u8] = from_raw_parts::(transmute(&val), self.size); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&val as *const T as *const u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_transmute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `slice` [INFO] [stderr] --> src/dynvec.rs:58:26 [INFO] [stderr] | [INFO] [stderr] 58 | for i in 0..self.size { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 58 | for (i, ) in slice.iter().enumerate().take(self.size) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `sim::Simulation` [INFO] [stderr] --> src/sim.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn new() -> Simulation { [INFO] [stderr] 13 | | Simulation { procs: Vec::new() } [INFO] [stderr] 14 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `sim::SimBuilder` [INFO] [stderr] --> src/sim.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | / pub fn new() -> SimBuilder { [INFO] [stderr] 51 | | SimBuilder { [INFO] [stderr] 52 | | errors: Vec::new(), [INFO] [stderr] 53 | | sim: Simulation::new(), [INFO] [stderr] 54 | | } [INFO] [stderr] 55 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 48 | impl Default for sim::SimBuilder { [INFO] [stderr] 49 | fn default() -> Self { [INFO] [stderr] 50 | Self::new() [INFO] [stderr] 51 | } [INFO] [stderr] 52 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `world::World` [INFO] [stderr] --> src/world.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> World { [INFO] [stderr] 23 | | World { [INFO] [stderr] 24 | | components: Components::new(), [INFO] [stderr] 25 | | entities: Entities::new(), [INFO] [stderr] 26 | | ent_data: BTreeMap::new(), [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 20 | impl Default for world::World { [INFO] [stderr] 21 | fn default() -> Self { [INFO] [stderr] 22 | Self::new() [INFO] [stderr] 23 | } [INFO] [stderr] 24 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> examples/current_usage.rs:35:46 [INFO] [stderr] | [INFO] [stderr] 35 | println!("Component Position #{}: {:?}", 60, world.component::(60).unwrap().1); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: unused variable: `id3` [INFO] [stderr] --> src/dynvec.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | let id3 = vec.add(Test(0, 0.0)); [INFO] [stderr] | ^^^ help: consider using `_id3` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `vec` [INFO] [stderr] --> src/dynvec.rs:122:13 [INFO] [stderr] | [INFO] [stderr] 122 | let vec = DynVec::new::<()>(); [INFO] [stderr] | ^^^ help: consider using `_vec` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/world.rs:41:21 [INFO] [stderr] | [INFO] [stderr] 41 | for (a, b) in data { [INFO] [stderr] | ^ help: consider using `_b` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sim.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | let mut next_state = world; [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/world.rs:94:21 [INFO] [stderr] | [INFO] [stderr] 94 | if let Some(mut c) = self.components.get_mut(&TypeId::of::<(Entity, T)>()) { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `num_alive` [INFO] [stderr] --> src/entity.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn num_alive(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/dynvec.rs:33:18 [INFO] [stderr] | [INFO] [stderr] 33 | Some(transmute::<&u8, &T>(self.vec.index(i * self.size))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self.vec.index(i * self.size) as *const u8 as *const T)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/dynvec.rs:44:18 [INFO] [stderr] | [INFO] [stderr] 44 | Some(transmute::<&mut u8, &mut T>(self.vec.index_mut(i * self.size))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(self.vec.index_mut(i * self.size) as *mut u8 as *mut T)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/dynvec.rs:56:53 [INFO] [stderr] | [INFO] [stderr] 56 | let slice: &[u8] = from_raw_parts::(transmute(&val), self.size); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `&val as *const T as *const u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_transmute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `slice` [INFO] [stderr] --> src/dynvec.rs:58:26 [INFO] [stderr] | [INFO] [stderr] 58 | for i in 0..self.size { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 58 | for (i, ) in slice.iter().enumerate().take(self.size) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/dynvec.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | assert_eq!(ref1.1, 32.0); // Checking floats for equality? Anyway, it should work in this case. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/dynvec.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | assert_eq!(ref1.1, 32.0); // Checking floats for equality? Anyway, it should work in this case. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/dynvec.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | assert_eq!(ref2.1, 64.125); // Same [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/dynvec.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | assert_eq!(ref2.1, 64.125); // Same [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/dynvec.rs:106:13 [INFO] [stderr] | [INFO] [stderr] 106 | assert_eq!(ref4.1, 0.25); // Same [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/dynvec.rs:106:13 [INFO] [stderr] | [INFO] [stderr] 106 | assert_eq!(ref4.1, 0.25); // Same [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `sim::Simulation` [INFO] [stderr] --> src/sim.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn new() -> Simulation { [INFO] [stderr] 13 | | Simulation { procs: Vec::new() } [INFO] [stderr] 14 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `sim::SimBuilder` [INFO] [stderr] --> src/sim.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | / pub fn new() -> SimBuilder { [INFO] [stderr] 51 | | SimBuilder { [INFO] [stderr] 52 | | errors: Vec::new(), [INFO] [stderr] 53 | | sim: Simulation::new(), [INFO] [stderr] 54 | | } [INFO] [stderr] 55 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 48 | impl Default for sim::SimBuilder { [INFO] [stderr] 49 | fn default() -> Self { [INFO] [stderr] 50 | Self::new() [INFO] [stderr] 51 | } [INFO] [stderr] 52 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `world::World` [INFO] [stderr] --> src/world.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> World { [INFO] [stderr] 23 | | World { [INFO] [stderr] 24 | | components: Components::new(), [INFO] [stderr] 25 | | entities: Entities::new(), [INFO] [stderr] 26 | | ent_data: BTreeMap::new(), [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 20 | impl Default for world::World { [INFO] [stderr] 21 | fn default() -> Self { [INFO] [stderr] 22 | Self::new() [INFO] [stderr] 23 | } [INFO] [stderr] 24 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `amethyst_ecs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> examples/current_usage.rs:32:52 [INFO] [stderr] | [INFO] [stderr] 32 | world.insert_component(ent, Mesh { handle: 1234567890, y: 12 }); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_234_567_890` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: field is never used: `x` [INFO] [stderr] --> examples/current_usage.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | x: f32, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `y` [INFO] [stderr] --> examples/current_usage.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | y: f32, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `z` [INFO] [stderr] --> examples/current_usage.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | z: f32, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `handle` [INFO] [stderr] --> examples/current_usage.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | handle: u64, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `y` [INFO] [stderr] --> examples/current_usage.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | y: usize, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/components.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/components.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #![feature(step_by)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `amethyst_ecs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/gen_ents.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `amethyst_ecs`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "c782d5d5cfd4e920a51dfa576b6f698dfb2e862b9c7a2332c11f490e8ce3fdc1"` [INFO] running `"docker" "rm" "-f" "c782d5d5cfd4e920a51dfa576b6f698dfb2e862b9c7a2332c11f490e8ce3fdc1"` [INFO] [stdout] c782d5d5cfd4e920a51dfa576b6f698dfb2e862b9c7a2332c11f490e8ce3fdc1