[INFO] updating cached repository twetzel59/craft_server [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/twetzel59/craft_server [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/twetzel59/craft_server" "work/ex/clippy-test-run/sources/stable/gh/twetzel59/craft_server"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/twetzel59/craft_server'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/twetzel59/craft_server" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/twetzel59/craft_server"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/twetzel59/craft_server'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 41186da5886a01e73a107955b6650cbc65a87b55 [INFO] sha for GitHub repo twetzel59/craft_server: 41186da5886a01e73a107955b6650cbc65a87b55 [INFO] validating manifest of twetzel59/craft_server 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 twetzel59/craft_server 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 twetzel59/craft_server [INFO] finished frobbing twetzel59/craft_server [INFO] frobbed toml for twetzel59/craft_server written to work/ex/clippy-test-run/sources/stable/gh/twetzel59/craft_server/Cargo.toml [INFO] started frobbing twetzel59/craft_server [INFO] finished frobbing twetzel59/craft_server [INFO] frobbed toml for twetzel59/craft_server written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/twetzel59/craft_server/Cargo.toml [INFO] crate twetzel59/craft_server has a lockfile. skipping [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 twetzel59/craft_server against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/twetzel59/craft_server:/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] 32519958b0c5a612836eb0fd27703833ed98153619180ec5e29e2ac78784ef29 [INFO] running `"docker" "start" "-a" "32519958b0c5a612836eb0fd27703833ed98153619180ec5e29e2ac78784ef29"` [INFO] [stderr] Compiling sqlite3-src v0.2.7 [INFO] [stderr] Checking sqlite3-sys v0.12.0 [INFO] [stderr] Checking sqlite v0.23.9 [INFO] [stderr] Checking craft_server v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | return Ok(c); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(c)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | return Err(()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: All variants have the same prefix: `Set` [INFO] [stderr] --> src/world/mod.rs:319:1 [INFO] [stderr] | [INFO] [stderr] 319 | / enum DatabaseCommand { [INFO] [stderr] 320 | | SetBlock(SetBlockCommand), [INFO] [stderr] 321 | | SetSign(SetSignCommand), [INFO] [stderr] 322 | | SetLight(SetLightCommand), [INFO] [stderr] 323 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | return Ok(c); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(c)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | return Err(()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: All variants have the same prefix: `Set` [INFO] [stderr] --> src/world/mod.rs:319:1 [INFO] [stderr] | [INFO] [stderr] 319 | / enum DatabaseCommand { [INFO] [stderr] 320 | | SetBlock(SetBlockCommand), [INFO] [stderr] 321 | | SetSign(SetSignCommand), [INFO] [stderr] 322 | | SetLight(SetLightCommand), [INFO] [stderr] 323 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/event.rs:118:26 [INFO] [stderr] | [INFO] [stderr] 118 | fn parse_all(pieces: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/event.rs:182:26 [INFO] [stderr] | [INFO] [stderr] 182 | fn parse_all(pieces: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/event.rs:228:26 [INFO] [stderr] | [INFO] [stderr] 228 | fn parse_all(pieces: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/event.rs:274:26 [INFO] [stderr] | [INFO] [stderr] 274 | fn parse_all(pieces: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/event.rs:323:26 [INFO] [stderr] | [INFO] [stderr] 323 | fn parse_all(pieces: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `nick::NickManager` [INFO] [stderr] --> src/nick.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | / pub fn new() -> NickManager { [INFO] [stderr] 24 | | let mut m = NickManager { [INFO] [stderr] 25 | | map: HashMap::new(), [INFO] [stderr] 26 | | file: OpenOptions::new() [INFO] [stderr] ... | [INFO] [stderr] 36 | | m [INFO] [stderr] 37 | | } [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] 16 | impl Default for nick::NickManager { [INFO] [stderr] 17 | fn default() -> Self { [INFO] [stderr] 18 | Self::new() [INFO] [stderr] 19 | } [INFO] [stderr] 20 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use as_ref() instead [INFO] [stderr] --> src/nick.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | / match self.map.get(ip) { [INFO] [stderr] 45 | | Some(ref s) => Some(s), [INFO] [stderr] 46 | | None => None, [INFO] [stderr] 47 | | } [INFO] [stderr] | |_________^ help: try this: `self.map.get(ip).as_ref()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_as_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_as_ref [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:45:47 [INFO] [stderr] | [INFO] [stderr] 45 | offset: Duration::new(DAY_LENGTH as u64 / 2, 0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u64::from(DAY_LENGTH)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/server.rs:227:25 [INFO] [stderr] | [INFO] [stderr] 227 | if (dx == 0 && dz == 0) || [INFO] [stderr] | _________________________^ [INFO] [stderr] 228 | | (dx != 0 && chunked(ev.x + dx) == p) || [INFO] [stderr] 229 | | (dz != 0 && chunked(ev.z + dz) == q) { [INFO] [stderr] | |____________________________________________________________^ help: try: `dx == 0 && dz == 0 || dx != 0 && chunked(ev.x + dx) == p || dz != 0 && chunked(ev.z + dz) == q` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:256:32 [INFO] [stderr] | [INFO] [stderr] 256 | let xyz = (xyz.0 as i32 + (ev.p * CHUNK_SIZE as i32) - 1, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:256:55 [INFO] [stderr] | [INFO] [stderr] 256 | let xyz = (xyz.0 as i32 + (ev.p * CHUNK_SIZE as i32) - 1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:257:32 [INFO] [stderr] | [INFO] [stderr] 257 | xyz.1 as i32, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:258:32 [INFO] [stderr] | [INFO] [stderr] 258 | xyz.2 as i32 + (ev.q * CHUNK_SIZE as i32) - 1); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:258:55 [INFO] [stderr] | [INFO] [stderr] 258 | xyz.2 as i32 + (ev.q * CHUNK_SIZE as i32) - 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:277:32 [INFO] [stderr] | [INFO] [stderr] 277 | let xyz = (xyz.0 as i32 + (ev.p * CHUNK_SIZE as i32) - 1, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:277:55 [INFO] [stderr] | [INFO] [stderr] 277 | let xyz = (xyz.0 as i32 + (ev.p * CHUNK_SIZE as i32) - 1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:278:32 [INFO] [stderr] | [INFO] [stderr] 278 | xyz.1 as i32, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:279:32 [INFO] [stderr] | [INFO] [stderr] 279 | xyz.2 as i32 + (ev.q * CHUNK_SIZE as i32) - 1); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:279:55 [INFO] [stderr] | [INFO] [stderr] 279 | xyz.2 as i32 + (ev.q * CHUNK_SIZE as i32) - 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:102:49 [INFO] [stderr] | [INFO] [stderr] 102 | let local_pos = ((global_pos.0 - pq.0 * CHUNK_SIZE as i32 + 1) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:104:49 [INFO] [stderr] | [INFO] [stderr] 104 | (global_pos.2 - pq.1 * CHUNK_SIZE as i32 + 1) as u8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/world/mod.rs:109:27 [INFO] [stderr] | [INFO] [stderr] 109 | let chunk = entry.or_insert(Chunk::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Chunk::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/world/mod.rs:138:27 [INFO] [stderr] | [INFO] [stderr] 138 | let chunk = entry.or_insert(Chunk::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Chunk::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:145:49 [INFO] [stderr] | [INFO] [stderr] 145 | let local_pos = ((global_pos.0 - pq.0 * CHUNK_SIZE as i32 + 1) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:147:49 [INFO] [stderr] | [INFO] [stderr] 147 | (global_pos.2 - pq.1 * CHUNK_SIZE as i32 + 1) as u8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/world/mod.rs:150:27 [INFO] [stderr] | [INFO] [stderr] 150 | let chunk = entry.or_insert(Chunk::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Chunk::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `world::World` [INFO] [stderr] --> src/world/mod.rs:171:5 [INFO] [stderr] | [INFO] [stderr] 171 | / pub fn new() -> World { [INFO] [stderr] 172 | | print!("Loading world... "); [INFO] [stderr] 173 | | [INFO] [stderr] 174 | | let conn = sqlite::open(FILE).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 191 | | w [INFO] [stderr] 192 | | } [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] 165 | impl Default for world::World { [INFO] [stderr] 166 | fn default() -> Self { [INFO] [stderr] 167 | Self::new() [INFO] [stderr] 168 | } [INFO] [stderr] 169 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:373:25 [INFO] [stderr] | [INFO] [stderr] 373 | s.0.bind(1, cmd.pq.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.pq.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:374:25 [INFO] [stderr] | [INFO] [stderr] 374 | s.0.bind(2, cmd.pq.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.pq.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:375:25 [INFO] [stderr] | [INFO] [stderr] 375 | s.0.bind(3, cmd.xyz.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:376:25 [INFO] [stderr] | [INFO] [stderr] 376 | s.0.bind(4, cmd.xyz.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:377:25 [INFO] [stderr] | [INFO] [stderr] 377 | s.0.bind(5, cmd.xyz.2 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:378:25 [INFO] [stderr] | [INFO] [stderr] 378 | s.0.bind(6, cmd.block.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.block.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:384:25 [INFO] [stderr] | [INFO] [stderr] 384 | s.0.bind(1, cmd.xyz.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:385:25 [INFO] [stderr] | [INFO] [stderr] 385 | s.0.bind(2, cmd.xyz.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:386:25 [INFO] [stderr] | [INFO] [stderr] 386 | s.0.bind(3, cmd.xyz.2 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:394:25 [INFO] [stderr] | [INFO] [stderr] 394 | s.0.bind(1, cmd.xyz.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:395:25 [INFO] [stderr] | [INFO] [stderr] 395 | s.0.bind(2, cmd.xyz.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:396:25 [INFO] [stderr] | [INFO] [stderr] 396 | s.0.bind(3, cmd.xyz.2 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:397:25 [INFO] [stderr] | [INFO] [stderr] 397 | s.0.bind(4, cmd.face as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.face)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:404:25 [INFO] [stderr] | [INFO] [stderr] 404 | s.0.bind(1, pq.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(pq.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:405:25 [INFO] [stderr] | [INFO] [stderr] 405 | s.0.bind(2, pq.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(pq.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:406:25 [INFO] [stderr] | [INFO] [stderr] 406 | s.0.bind(3, cmd.xyz.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:407:25 [INFO] [stderr] | [INFO] [stderr] 407 | s.0.bind(4, cmd.xyz.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:408:25 [INFO] [stderr] | [INFO] [stderr] 408 | s.0.bind(5, cmd.xyz.2 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:409:25 [INFO] [stderr] | [INFO] [stderr] 409 | s.0.bind(6, cmd.face as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.face)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:417:21 [INFO] [stderr] | [INFO] [stderr] 417 | s.0.bind(1, cmd.pq.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.pq.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:418:21 [INFO] [stderr] | [INFO] [stderr] 418 | s.0.bind(2, cmd.pq.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.pq.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:419:21 [INFO] [stderr] | [INFO] [stderr] 419 | s.0.bind(3, cmd.xyz.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:420:21 [INFO] [stderr] | [INFO] [stderr] 420 | s.0.bind(4, cmd.xyz.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:421:21 [INFO] [stderr] | [INFO] [stderr] 421 | s.0.bind(5, cmd.xyz.2 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:422:21 [INFO] [stderr] | [INFO] [stderr] 422 | s.0.bind(6, cmd.light.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.light.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:428:17 [INFO] [stderr] | [INFO] [stderr] 428 | (n as f32 / CHUNK_SIZE as f32).floor() as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/event.rs:118:26 [INFO] [stderr] | [INFO] [stderr] 118 | fn parse_all(pieces: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/event.rs:182:26 [INFO] [stderr] | [INFO] [stderr] 182 | fn parse_all(pieces: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/event.rs:228:26 [INFO] [stderr] | [INFO] [stderr] 228 | fn parse_all(pieces: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/event.rs:274:26 [INFO] [stderr] | [INFO] [stderr] 274 | fn parse_all(pieces: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/event.rs:323:26 [INFO] [stderr] | [INFO] [stderr] 323 | fn parse_all(pieces: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `nick::NickManager` [INFO] [stderr] --> src/nick.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | / pub fn new() -> NickManager { [INFO] [stderr] 24 | | let mut m = NickManager { [INFO] [stderr] 25 | | map: HashMap::new(), [INFO] [stderr] 26 | | file: OpenOptions::new() [INFO] [stderr] ... | [INFO] [stderr] 36 | | m [INFO] [stderr] 37 | | } [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] 16 | impl Default for nick::NickManager { [INFO] [stderr] 17 | fn default() -> Self { [INFO] [stderr] 18 | Self::new() [INFO] [stderr] 19 | } [INFO] [stderr] 20 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use as_ref() instead [INFO] [stderr] --> src/nick.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | / match self.map.get(ip) { [INFO] [stderr] 45 | | Some(ref s) => Some(s), [INFO] [stderr] 46 | | None => None, [INFO] [stderr] 47 | | } [INFO] [stderr] | |_________^ help: try this: `self.map.get(ip).as_ref()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_as_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_as_ref [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:45:47 [INFO] [stderr] | [INFO] [stderr] 45 | offset: Duration::new(DAY_LENGTH as u64 / 2, 0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u64::from(DAY_LENGTH)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/server.rs:227:25 [INFO] [stderr] | [INFO] [stderr] 227 | if (dx == 0 && dz == 0) || [INFO] [stderr] | _________________________^ [INFO] [stderr] 228 | | (dx != 0 && chunked(ev.x + dx) == p) || [INFO] [stderr] 229 | | (dz != 0 && chunked(ev.z + dz) == q) { [INFO] [stderr] | |____________________________________________________________^ help: try: `dx == 0 && dz == 0 || dx != 0 && chunked(ev.x + dx) == p || dz != 0 && chunked(ev.z + dz) == q` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:256:32 [INFO] [stderr] | [INFO] [stderr] 256 | let xyz = (xyz.0 as i32 + (ev.p * CHUNK_SIZE as i32) - 1, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:256:55 [INFO] [stderr] | [INFO] [stderr] 256 | let xyz = (xyz.0 as i32 + (ev.p * CHUNK_SIZE as i32) - 1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:257:32 [INFO] [stderr] | [INFO] [stderr] 257 | xyz.1 as i32, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:258:32 [INFO] [stderr] | [INFO] [stderr] 258 | xyz.2 as i32 + (ev.q * CHUNK_SIZE as i32) - 1); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:258:55 [INFO] [stderr] | [INFO] [stderr] 258 | xyz.2 as i32 + (ev.q * CHUNK_SIZE as i32) - 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:277:32 [INFO] [stderr] | [INFO] [stderr] 277 | let xyz = (xyz.0 as i32 + (ev.p * CHUNK_SIZE as i32) - 1, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:277:55 [INFO] [stderr] | [INFO] [stderr] 277 | let xyz = (xyz.0 as i32 + (ev.p * CHUNK_SIZE as i32) - 1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:278:32 [INFO] [stderr] | [INFO] [stderr] 278 | xyz.1 as i32, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:279:32 [INFO] [stderr] | [INFO] [stderr] 279 | xyz.2 as i32 + (ev.q * CHUNK_SIZE as i32) - 1); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:279:55 [INFO] [stderr] | [INFO] [stderr] 279 | xyz.2 as i32 + (ev.q * CHUNK_SIZE as i32) - 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:102:49 [INFO] [stderr] | [INFO] [stderr] 102 | let local_pos = ((global_pos.0 - pq.0 * CHUNK_SIZE as i32 + 1) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:104:49 [INFO] [stderr] | [INFO] [stderr] 104 | (global_pos.2 - pq.1 * CHUNK_SIZE as i32 + 1) as u8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/world/mod.rs:109:27 [INFO] [stderr] | [INFO] [stderr] 109 | let chunk = entry.or_insert(Chunk::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Chunk::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/world/mod.rs:138:27 [INFO] [stderr] | [INFO] [stderr] 138 | let chunk = entry.or_insert(Chunk::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Chunk::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:145:49 [INFO] [stderr] | [INFO] [stderr] 145 | let local_pos = ((global_pos.0 - pq.0 * CHUNK_SIZE as i32 + 1) as u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:147:49 [INFO] [stderr] | [INFO] [stderr] 147 | (global_pos.2 - pq.1 * CHUNK_SIZE as i32 + 1) as u8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/world/mod.rs:150:27 [INFO] [stderr] | [INFO] [stderr] 150 | let chunk = entry.or_insert(Chunk::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Chunk::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `world::World` [INFO] [stderr] --> src/world/mod.rs:171:5 [INFO] [stderr] | [INFO] [stderr] 171 | / pub fn new() -> World { [INFO] [stderr] 172 | | print!("Loading world... "); [INFO] [stderr] 173 | | [INFO] [stderr] 174 | | let conn = sqlite::open(FILE).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 191 | | w [INFO] [stderr] 192 | | } [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] 165 | impl Default for world::World { [INFO] [stderr] 166 | fn default() -> Self { [INFO] [stderr] 167 | Self::new() [INFO] [stderr] 168 | } [INFO] [stderr] 169 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:373:25 [INFO] [stderr] | [INFO] [stderr] 373 | s.0.bind(1, cmd.pq.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.pq.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:374:25 [INFO] [stderr] | [INFO] [stderr] 374 | s.0.bind(2, cmd.pq.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.pq.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:375:25 [INFO] [stderr] | [INFO] [stderr] 375 | s.0.bind(3, cmd.xyz.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:376:25 [INFO] [stderr] | [INFO] [stderr] 376 | s.0.bind(4, cmd.xyz.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:377:25 [INFO] [stderr] | [INFO] [stderr] 377 | s.0.bind(5, cmd.xyz.2 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:378:25 [INFO] [stderr] | [INFO] [stderr] 378 | s.0.bind(6, cmd.block.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.block.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:384:25 [INFO] [stderr] | [INFO] [stderr] 384 | s.0.bind(1, cmd.xyz.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:385:25 [INFO] [stderr] | [INFO] [stderr] 385 | s.0.bind(2, cmd.xyz.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:386:25 [INFO] [stderr] | [INFO] [stderr] 386 | s.0.bind(3, cmd.xyz.2 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:394:25 [INFO] [stderr] | [INFO] [stderr] 394 | s.0.bind(1, cmd.xyz.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:395:25 [INFO] [stderr] | [INFO] [stderr] 395 | s.0.bind(2, cmd.xyz.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:396:25 [INFO] [stderr] | [INFO] [stderr] 396 | s.0.bind(3, cmd.xyz.2 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:397:25 [INFO] [stderr] | [INFO] [stderr] 397 | s.0.bind(4, cmd.face as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.face)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:404:25 [INFO] [stderr] | [INFO] [stderr] 404 | s.0.bind(1, pq.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(pq.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:405:25 [INFO] [stderr] | [INFO] [stderr] 405 | s.0.bind(2, pq.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(pq.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:406:25 [INFO] [stderr] | [INFO] [stderr] 406 | s.0.bind(3, cmd.xyz.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:407:25 [INFO] [stderr] | [INFO] [stderr] 407 | s.0.bind(4, cmd.xyz.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:408:25 [INFO] [stderr] | [INFO] [stderr] 408 | s.0.bind(5, cmd.xyz.2 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:409:25 [INFO] [stderr] | [INFO] [stderr] 409 | s.0.bind(6, cmd.face as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.face)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:417:21 [INFO] [stderr] | [INFO] [stderr] 417 | s.0.bind(1, cmd.pq.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.pq.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:418:21 [INFO] [stderr] | [INFO] [stderr] 418 | s.0.bind(2, cmd.pq.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.pq.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:419:21 [INFO] [stderr] | [INFO] [stderr] 419 | s.0.bind(3, cmd.xyz.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:420:21 [INFO] [stderr] | [INFO] [stderr] 420 | s.0.bind(4, cmd.xyz.1 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:421:21 [INFO] [stderr] | [INFO] [stderr] 421 | s.0.bind(5, cmd.xyz.2 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.xyz.2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:422:21 [INFO] [stderr] | [INFO] [stderr] 422 | s.0.bind(6, cmd.light.0 as i64).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i64::from(cmd.light.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/world/mod.rs:428:17 [INFO] [stderr] | [INFO] [stderr] 428 | (n as f32 / CHUNK_SIZE as f32).floor() as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f32::from(CHUNK_SIZE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.92s [INFO] running `"docker" "inspect" "32519958b0c5a612836eb0fd27703833ed98153619180ec5e29e2ac78784ef29"` [INFO] running `"docker" "rm" "-f" "32519958b0c5a612836eb0fd27703833ed98153619180ec5e29e2ac78784ef29"` [INFO] [stdout] 32519958b0c5a612836eb0fd27703833ed98153619180ec5e29e2ac78784ef29