[INFO] crate trex 0.2.0 is already in cache [INFO] extracting crate trex 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/trex/0.2.0 [INFO] extracting crate trex 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/trex/0.2.0 [INFO] validating manifest of trex-0.2.0 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 trex-0.2.0 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 trex-0.2.0 [INFO] finished frobbing trex-0.2.0 [INFO] frobbed toml for trex-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/trex/0.2.0/Cargo.toml [INFO] started frobbing trex-0.2.0 [INFO] finished frobbing trex-0.2.0 [INFO] frobbed toml for trex-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/trex/0.2.0/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 trex-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/trex/0.2.0:/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] a58793d95e35faaff13edea6cd2fe8d19672152d36b48d434162bd5c973b9636 [INFO] running `"docker" "start" "-a" "a58793d95e35faaff13edea6cd2fe8d19672152d36b48d434162bd5c973b9636"` [INFO] [stderr] Checking trex v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/event.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | pool: pool, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `pool` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/simulation.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/simulation.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | queue: queue, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `queue` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/simulation.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | emitter: emitter, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `emitter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/event.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/id.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | pool: pool, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `pool` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/simulation.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/simulation.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | queue: queue, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `queue` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/simulation.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | emitter: emitter, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `emitter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/time.rs:5:66 [INFO] [stderr] | [INFO] [stderr] 5 | (dt.as_secs() as f32 * 1000.0) + (dt.subsec_nanos() as f32 / 1000000.0) [INFO] [stderr] | ^^^^^^^^^ help: consider: `1_000_000.0` [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/event.rs:10:38 [INFO] [stderr] | [INFO] [stderr] 10 | fn merge(&mut self, any_emitter: &mut Box); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut AnyEventEmitter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/event.rs:44:22 [INFO] [stderr] | [INFO] [stderr] 44 | let emitter: &mut Box> = unsafe { transmute(any_emitter) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut InnerEventEmitter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/event.rs:44:64 [INFO] [stderr] | [INFO] [stderr] 44 | let emitter: &mut Box> = unsafe { transmute(any_emitter) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(any_emitter as *mut std::boxed::Box<(dyn event::AnyEventEmitter + 'static)> as *mut std::boxed::Box>)` [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: you should consider deriving a `Default` implementation for `event::EventQueue` [INFO] [stderr] --> src/event.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | / pub fn new() -> EventQueue { [INFO] [stderr] 103 | | EventQueue { [INFO] [stderr] 104 | | queues: VecMap::new(), [INFO] [stderr] 105 | | } [INFO] [stderr] 106 | | } [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] 96 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/event.rs:117:20 [INFO] [stderr] | [INFO] [stderr] 117 | let queue: &Box> = unsafe { transmute(any_queue) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&InnerEventQueue` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/event.rs:117:56 [INFO] [stderr] | [INFO] [stderr] 117 | let queue: &Box> = unsafe { transmute(any_queue) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(any_queue as *const std::boxed::Box as *const std::boxed::Box>)` [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: you should consider deriving a `Default` implementation for `event::EventEmitter` [INFO] [stderr] --> src/event.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | / pub fn new() -> EventEmitter { [INFO] [stderr] 145 | | EventEmitter { [INFO] [stderr] 146 | | emitters: VecMap::new(), [INFO] [stderr] 147 | | } [INFO] [stderr] 148 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 138 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/event.rs:158:22 [INFO] [stderr] | [INFO] [stderr] 158 | let emitter: &mut Box> = unsafe { transmute(any_emitter) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut InnerEventEmitter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/event.rs:158:64 [INFO] [stderr] | [INFO] [stderr] 158 | let emitter: &mut Box> = unsafe { transmute(any_emitter) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(any_emitter as *mut std::boxed::Box<(dyn event::AnyEventEmitter + 'static)> as *mut std::boxed::Box>)` [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: you should consider deriving a `Default` implementation for `world::ComponentFilter` [INFO] [stderr] --> src/world.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> ComponentFilter { [INFO] [stderr] 19 | | ComponentFilter { [INFO] [stderr] 20 | | mask: BitSet::new(), [INFO] [stderr] 21 | | } [INFO] [stderr] 22 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 12 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `world::World` [INFO] [stderr] --> src/world.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | / pub fn new() -> World { [INFO] [stderr] 51 | | World { [INFO] [stderr] 52 | | masks: VecMap::new(), [INFO] [stderr] 53 | | stores: VecMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 57 | | } [INFO] [stderr] 58 | | } [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 world::World { [INFO] [stderr] 49 | fn default() -> Self { [INFO] [stderr] 50 | Self::new() [INFO] [stderr] 51 | } [INFO] [stderr] 52 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/time.rs:5:66 [INFO] [stderr] | [INFO] [stderr] 5 | (dt.as_secs() as f32 * 1000.0) + (dt.subsec_nanos() as f32 / 1000000.0) [INFO] [stderr] | ^^^^^^^^^ help: consider: `1_000_000.0` [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/world.rs:212:45 [INFO] [stderr] | [INFO] [stderr] 212 | fn get_store(&self) -> &Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&InnerComponentStore` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/world.rs:215:18 [INFO] [stderr] | [INFO] [stderr] 215 | unsafe { transmute(store) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `&*(store as *const std::boxed::Box as *const std::boxed::Box>)` [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/world.rs:218:53 [INFO] [stderr] | [INFO] [stderr] 218 | fn get_store_mut(&mut self) -> &mut Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut InnerComponentStore` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/world.rs:221:18 [INFO] [stderr] | [INFO] [stderr] 221 | unsafe { transmute(store) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `&mut *(store as *mut std::boxed::Box<(dyn component::AnyComponentStore + 'static)> as *mut std::boxed::Box>)` [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: redundant field names in struct initialization [INFO] [stderr] --> examples/text_adventure.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | room: room, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `room` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> examples/text_adventure.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | rx: rx, [INFO] [stderr] | ^^^^^^ help: replace it with: `rx` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/event.rs:10:38 [INFO] [stderr] | [INFO] [stderr] 10 | fn merge(&mut self, any_emitter: &mut Box); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut AnyEventEmitter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/event.rs:44:22 [INFO] [stderr] | [INFO] [stderr] 44 | let emitter: &mut Box> = unsafe { transmute(any_emitter) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut InnerEventEmitter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/event.rs:44:64 [INFO] [stderr] | [INFO] [stderr] 44 | let emitter: &mut Box> = unsafe { transmute(any_emitter) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(any_emitter as *mut std::boxed::Box<(dyn event::AnyEventEmitter + 'static)> as *mut std::boxed::Box>)` [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: you should consider deriving a `Default` implementation for `event::EventQueue` [INFO] [stderr] --> src/event.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | / pub fn new() -> EventQueue { [INFO] [stderr] 103 | | EventQueue { [INFO] [stderr] 104 | | queues: VecMap::new(), [INFO] [stderr] 105 | | } [INFO] [stderr] 106 | | } [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] 96 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/event.rs:117:20 [INFO] [stderr] | [INFO] [stderr] 117 | let queue: &Box> = unsafe { transmute(any_queue) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&InnerEventQueue` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/event.rs:117:56 [INFO] [stderr] | [INFO] [stderr] 117 | let queue: &Box> = unsafe { transmute(any_queue) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(any_queue as *const std::boxed::Box as *const std::boxed::Box>)` [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: you should consider deriving a `Default` implementation for `event::EventEmitter` [INFO] [stderr] --> src/event.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | / pub fn new() -> EventEmitter { [INFO] [stderr] 145 | | EventEmitter { [INFO] [stderr] 146 | | emitters: VecMap::new(), [INFO] [stderr] 147 | | } [INFO] [stderr] 148 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 138 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/event.rs:158:22 [INFO] [stderr] | [INFO] [stderr] 158 | let emitter: &mut Box> = unsafe { transmute(any_emitter) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut InnerEventEmitter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/event.rs:158:64 [INFO] [stderr] | [INFO] [stderr] 158 | let emitter: &mut Box> = unsafe { transmute(any_emitter) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut *(any_emitter as *mut std::boxed::Box<(dyn event::AnyEventEmitter + 'static)> as *mut std::boxed::Box>)` [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: you should consider deriving a `Default` implementation for `world::ComponentFilter` [INFO] [stderr] --> src/world.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> ComponentFilter { [INFO] [stderr] 19 | | ComponentFilter { [INFO] [stderr] 20 | | mask: BitSet::new(), [INFO] [stderr] 21 | | } [INFO] [stderr] 22 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 12 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `world::World` [INFO] [stderr] --> src/world.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | / pub fn new() -> World { [INFO] [stderr] 51 | | World { [INFO] [stderr] 52 | | masks: VecMap::new(), [INFO] [stderr] 53 | | stores: VecMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 57 | | } [INFO] [stderr] 58 | | } [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 world::World { [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 seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/world.rs:212:45 [INFO] [stderr] | [INFO] [stderr] 212 | fn get_store(&self) -> &Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&InnerComponentStore` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/world.rs:215:18 [INFO] [stderr] | [INFO] [stderr] 215 | unsafe { transmute(store) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `&*(store as *const std::boxed::Box as *const std::boxed::Box>)` [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/world.rs:218:53 [INFO] [stderr] | [INFO] [stderr] 218 | fn get_store_mut(&mut self) -> &mut Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut InnerComponentStore` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/world.rs:221:18 [INFO] [stderr] | [INFO] [stderr] 221 | unsafe { transmute(store) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `&mut *(store as *mut std::boxed::Box<(dyn component::AnyComponentStore + 'static)> as *mut std::boxed::Box>)` [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] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/lib.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 `trex`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you should consider adding a `Default` implementation for `InputSystem` [INFO] [stderr] --> examples/text_adventure.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | / pub fn new() -> InputSystem { [INFO] [stderr] 53 | | let (tx, rx) = channel(); [INFO] [stderr] 54 | | [INFO] [stderr] 55 | | spawn(move || { [INFO] [stderr] ... | [INFO] [stderr] 70 | | } [INFO] [stderr] 71 | | } [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] 51 | impl Default for InputSystem { [INFO] [stderr] 52 | fn default() -> Self { [INFO] [stderr] 53 | Self::new() [INFO] [stderr] 54 | } [INFO] [stderr] 55 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> examples/text_adventure.rs:60:37 [INFO] [stderr] | [INFO] [stderr] 60 | Ok(_) => if let Err(_) = tx.send(input) { [INFO] [stderr] | ______________________________- ^^^^^^ [INFO] [stderr] 61 | | break; [INFO] [stderr] 62 | | }, [INFO] [stderr] | |_____________________- help: try this: `if tx.send(input).is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "a58793d95e35faaff13edea6cd2fe8d19672152d36b48d434162bd5c973b9636"` [INFO] running `"docker" "rm" "-f" "a58793d95e35faaff13edea6cd2fe8d19672152d36b48d434162bd5c973b9636"` [INFO] [stdout] a58793d95e35faaff13edea6cd2fe8d19672152d36b48d434162bd5c973b9636