[INFO] updating cached repository philippschladitz/vyre_rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/philippschladitz/vyre_rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/philippschladitz/vyre_rs" "work/ex/clippy-test-run/sources/stable/gh/philippschladitz/vyre_rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/philippschladitz/vyre_rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/philippschladitz/vyre_rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/philippschladitz/vyre_rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/philippschladitz/vyre_rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9477ceb4f45167480885e82a699247f4c187a95b [INFO] sha for GitHub repo philippschladitz/vyre_rs: 9477ceb4f45167480885e82a699247f4c187a95b [INFO] validating manifest of philippschladitz/vyre_rs 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 philippschladitz/vyre_rs 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 philippschladitz/vyre_rs [INFO] finished frobbing philippschladitz/vyre_rs [INFO] frobbed toml for philippschladitz/vyre_rs written to work/ex/clippy-test-run/sources/stable/gh/philippschladitz/vyre_rs/Cargo.toml [INFO] started frobbing philippschladitz/vyre_rs [INFO] finished frobbing philippschladitz/vyre_rs [INFO] frobbed toml for philippschladitz/vyre_rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/philippschladitz/vyre_rs/Cargo.toml [INFO] crate philippschladitz/vyre_rs 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 philippschladitz/vyre_rs against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/philippschladitz/vyre_rs:/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] 3ae6f61439a0731d64c0aedfc1359f3690afd9b2076f80df7d863c221203c93f [INFO] running `"docker" "start" "-a" "3ae6f61439a0731d64c0aedfc1359f3690afd9b2076f80df7d863c221203c93f"` [INFO] [stderr] Compiling serde v0.9.11 [INFO] [stderr] Checking lazy_static v0.2.4 [INFO] [stderr] Compiling phf_generator v0.7.21 [INFO] [stderr] Checking gfx_core v0.6.0 [INFO] [stderr] Checking num-bigint v0.1.37 [INFO] [stderr] Compiling gfx_gl v0.3.1 [INFO] [stderr] Checking shared_library v0.1.5 [INFO] [stderr] Checking x11-dl v2.12.0 [INFO] [stderr] Compiling phf_codegen v0.7.21 [INFO] [stderr] Compiling target_build_utils v0.3.0 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking num-rational v0.1.36 [INFO] [stderr] Checking num v0.1.37 [INFO] [stderr] Compiling serde_json v0.9.9 [INFO] [stderr] Compiling libloading v0.3.2 [INFO] [stderr] Checking dlib v0.3.1 [INFO] [stderr] Checking wayland-sys v0.7.8 [INFO] [stderr] Checking wayland-client v0.7.8 [INFO] [stderr] Checking wayland-window v0.4.4 [INFO] [stderr] Checking wayland-kbd v0.6.3 [INFO] [stderr] Checking winit v0.5.11 [INFO] [stderr] Checking glutin v0.7.4 [INFO] [stderr] Checking gfx_device_gl v0.13.0 [INFO] [stderr] Checking gfx v0.14.0 [INFO] [stderr] Checking gfx_window_glutin v0.14.0 [INFO] [stderr] Checking vyre_rs v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/math/matrix.rs:371:13 [INFO] [stderr] | [INFO] [stderr] 371 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/math/matrix.rs:403:13 [INFO] [stderr] | [INFO] [stderr] 403 | let n = b.n; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/math/matrix.rs:415:13 [INFO] [stderr] | [INFO] [stderr] 415 | m: m, [INFO] [stderr] | ^^^^ help: replace it with: `m` [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/math/matrix.rs:416:13 [INFO] [stderr] | [INFO] [stderr] 416 | n: n, [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/math/matrix.rs:545:17 [INFO] [stderr] | [INFO] [stderr] 545 | m: m, [INFO] [stderr] | ^^^^ help: replace it with: `m` [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/math/matrix.rs:546:17 [INFO] [stderr] | [INFO] [stderr] 546 | n: n, [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/math/quaternion.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | s: s [INFO] [stderr] | ^^^^ help: replace it with: `s` [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/math/quaternion.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 145 | v: v, [INFO] [stderr] | ^^^^ help: replace it with: `v` [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/math/quaternion.rs:191:13 [INFO] [stderr] | [INFO] [stderr] 191 | v: v, [INFO] [stderr] | ^^^^ help: replace it with: `v` [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/math/vector.rs:199:13 [INFO] [stderr] | [INFO] [stderr] 199 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/math/vector.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/math/vector.rs:201:13 [INFO] [stderr] | [INFO] [stderr] 201 | z: z [INFO] [stderr] | ^^^^ help: replace it with: `z` [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/core/component.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | entity: entity, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `entity` [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/core/component.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | dirty_queue: dirty_queue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `dirty_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/math/matrix.rs:371:13 [INFO] [stderr] | [INFO] [stderr] 371 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/math/matrix.rs:403:13 [INFO] [stderr] | [INFO] [stderr] 403 | let n = b.n; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/graphics/transform_system/transform.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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] warning: redundant field names in struct initialization [INFO] [stderr] --> src/math/matrix.rs:415:13 [INFO] [stderr] | [INFO] [stderr] 415 | m: m, [INFO] [stderr] | ^^^^ help: replace it with: `m` [INFO] [stderr] --> src/graphics/transform_system/transform.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | orientation: orientation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `orientation` [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] | [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/math/matrix.rs:416:13 [INFO] [stderr] | [INFO] [stderr] 416 | n: n, [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/math/matrix.rs:545:17 [INFO] [stderr] | [INFO] [stderr] 545 | m: m, [INFO] [stderr] | ^^^^ help: replace it with: `m` [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/math/matrix.rs:546:17 [INFO] [stderr] | [INFO] [stderr] 546 | n: n, [INFO] [stderr] | ^^^^ help: replace it with: `n` [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/math/quaternion.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | s: s [INFO] [stderr] | ^^^^ help: replace it with: `s` [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/math/quaternion.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 145 | v: v, [INFO] [stderr] | ^^^^ help: replace it with: `v` [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/math/quaternion.rs:191:13 [INFO] [stderr] | [INFO] [stderr] 191 | v: v, [INFO] [stderr] | ^^^^ help: replace it with: `v` [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/math/vector.rs:199:13 [INFO] [stderr] | [INFO] [stderr] 199 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/math/vector.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [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/math/vector.rs:201:13 [INFO] [stderr] | [INFO] [stderr] 201 | z: z [INFO] [stderr] | ^^^^ help: replace it with: `z` [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/core/component.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | entity: entity, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `entity` [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/core/component.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | dirty_queue: dirty_queue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `dirty_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/graphics/transform_system/transform.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | scale: scale, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `scale` [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/graphics/transform_system/transform.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [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/graphics/transform_system/transform.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | orientation: orientation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `orientation` [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/graphics/transform_system/transform.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | scale: scale, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `scale` [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/test/opengl_test.rs:58:45 [INFO] [stderr] | [INFO] [stderr] 58 | width: width, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `width` [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/test/opengl_test.rs:59:45 [INFO] [stderr] | [INFO] [stderr] 59 | height: height, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `height` [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: unnecessary parentheses around function argument [INFO] [stderr] --> src/math/matrix.rs:404:51 [INFO] [stderr] | [INFO] [stderr] 404 | let mut vector = vec![Default::default(); (m * n)]; [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/math/matrix.rs:534:55 [INFO] [stderr] | [INFO] [stderr] 534 | let mut vector = vec![Default::default(); (m * n)]; [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::any::*` [INFO] [stderr] --> src/core/entity.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::any::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::*` [INFO] [stderr] --> src/core/entity.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::cmp::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::*` [INFO] [stderr] --> src/core/entity.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::*` [INFO] [stderr] --> src/core/entity.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::iter::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::any::*` [INFO] [stderr] --> src/core/component.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::any::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::any::*` [INFO] [stderr] --> src/core/system.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::any::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::*` [INFO] [stderr] --> src/core/system.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::cmp::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::*` [INFO] [stderr] --> src/core/system.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::*` [INFO] [stderr] --> src/core/system.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::iter::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::*` [INFO] [stderr] --> src/core/world.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::cmp::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::*` [INFO] [stderr] --> src/core/world.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::iter::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem::*` [INFO] [stderr] --> src/core/world.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::mem::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/graphics/pipelines.rs:102:33 [INFO] [stderr] | [INFO] [stderr] 102 | pub const SIMPLE_CUBE_INDICES: &'static [u16] = &[ [INFO] [stderr] | -^^^^^^^------ help: consider removing `'static`: `&[u16]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::*` [INFO] [stderr] --> src/graphics/transform_system/transform.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::sync::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::*` [INFO] [stderr] --> src/graphics/transform_system/transform.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::cmp::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hash::*` [INFO] [stderr] --> src/graphics/transform_system/transform.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::hash::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/graphics/transform_system/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | mod transform_system; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unused import: `math::*` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use math::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `num::*` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use num::*; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::*` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::*` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::sync::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::*` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::iter::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::*` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::cmp::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `math::*` [INFO] [stderr] --> src/graphics/camera.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use math::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/math/matrix.rs:404:51 [INFO] [stderr] | [INFO] [stderr] 404 | let mut vector = vec![Default::default(); (m * n)]; [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/math/matrix.rs:534:55 [INFO] [stderr] | [INFO] [stderr] 534 | let mut vector = vec![Default::default(); (m * n)]; [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::any::*` [INFO] [stderr] --> src/core/entity.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::any::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::*` [INFO] [stderr] --> src/core/entity.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::cmp::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::*` [INFO] [stderr] --> src/core/entity.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::*` [INFO] [stderr] --> src/core/entity.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::iter::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::any::*` [INFO] [stderr] --> src/core/component.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::any::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::any::*` [INFO] [stderr] --> src/core/system.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::any::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::*` [INFO] [stderr] --> src/core/system.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::cmp::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::*` [INFO] [stderr] --> src/core/system.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::*` [INFO] [stderr] --> src/core/system.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::iter::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::*` [INFO] [stderr] --> src/core/world.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::cmp::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::*` [INFO] [stderr] --> src/core/world.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::iter::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::mem::*` [INFO] [stderr] --> src/core/world.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::mem::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/graphics/pipelines.rs:102:33 [INFO] [stderr] | [INFO] [stderr] 102 | pub const SIMPLE_CUBE_INDICES: &'static [u16] = &[ [INFO] [stderr] | -^^^^^^^------ help: consider removing `'static`: `&[u16]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::*` [INFO] [stderr] --> src/graphics/transform_system/transform.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::sync::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::*` [INFO] [stderr] --> src/graphics/transform_system/transform.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::cmp::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hash::*` [INFO] [stderr] --> src/graphics/transform_system/transform.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::hash::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/graphics/transform_system/mod.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | mod transform_system; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unused import: `math::*` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use math::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `num::*` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use num::*; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::*` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::*` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::sync::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::*` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::iter::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::*` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::cmp::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `math::*` [INFO] [stderr] --> src/graphics/camera.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use math::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/test/matrix_test.rs:8:44 [INFO] [stderr] | [INFO] [stderr] 8 | let m: Matrix = Matrix::new(6, 8, (|r, c| matrix_index::index(r, c, 8) as i64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/test/matrix_test.rs:34:44 [INFO] [stderr] | [INFO] [stderr] 34 | let m: Matrix = Matrix::new(6, 8, (|r, c| (r + c) as i64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/test/matrix_test.rs:39:44 [INFO] [stderr] | [INFO] [stderr] 39 | let m: Matrix = Matrix::new(6, 8, (|r, c| (r + c) as f32)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/test/matrix_test.rs:50:44 [INFO] [stderr] | [INFO] [stderr] 50 | let m: Matrix = Matrix::new(4, 4, (|_, c| c as f32)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/test/matrix_test.rs:60:44 [INFO] [stderr] | [INFO] [stderr] 60 | let m: Matrix = Matrix::new(4, 4, (|r, _| r as f32)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | /// creates a window with the title "Vyre Engine", 512 width, 512 height, no vsync and in windowed mode [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_doc_comments)] on by default [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | /// creates a device, rendertarget and depth target for the window [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | /// creates a simple pipeline [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | /// creates a command encoder [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | /// creates a vertex buffer for a triangle [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | /// sets the vertex buffer to be drawn to the main_target [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | /// creates a window with the title "Vyre Engine", 512 width, 512 height, no vsync and in windowed mode [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | /// creates a device, rendertarget and depth target for the window [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | /// creates a simple pipeline [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | /// creates a command encoder [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | /// creates a vertex buffer for a triangle [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | /// create a perspective projection matrix [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | /// sets the vertex buffer to be drawn to the main_target [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | /// create transformation for the cube [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | /// clear, draw, flush and swap buffer [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | /// move the cube and rotate him [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | /// calculate the model matrix [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | /// create view look at matrix (always look at the cube) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: doc comment not used by rustdoc [INFO] [stderr] --> src/test/opengl_test.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | /// MVP = Projection * View * Model [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::*` [INFO] [stderr] --> src/test/ecs_test.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::collections::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::any::*` [INFO] [stderr] --> src/test/ecs_test.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::any::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/math/matrix.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | let width = right - left; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/math/matrix.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | let width = right - left; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `num` [INFO] [stderr] --> src/math/quaternion.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use num::*; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter` [INFO] [stderr] --> src/graphics/transform_system/transform.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::iter::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hash` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::hash::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `left` [INFO] [stderr] --> src/math/matrix.rs:161:20 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn frustum(left:T, right:T, bottom:T, top:T, near:T, far:T) -> Self where T: num::Float+num::NumCast { [INFO] [stderr] | ^^^^ help: consider using `_left` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `right` [INFO] [stderr] --> src/math/matrix.rs:161:28 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn frustum(left:T, right:T, bottom:T, top:T, near:T, far:T) -> Self where T: num::Float+num::NumCast { [INFO] [stderr] | ^^^^^ help: consider using `_right` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bottom` [INFO] [stderr] --> src/math/matrix.rs:161:37 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn frustum(left:T, right:T, bottom:T, top:T, near:T, far:T) -> Self where T: num::Float+num::NumCast { [INFO] [stderr] | ^^^^^^ help: consider using `_bottom` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `top` [INFO] [stderr] --> src/math/matrix.rs:161:47 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn frustum(left:T, right:T, bottom:T, top:T, near:T, far:T) -> Self where T: num::Float+num::NumCast { [INFO] [stderr] | ^^^ help: consider using `_top` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `near` [INFO] [stderr] --> src/math/matrix.rs:161:54 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn frustum(left:T, right:T, bottom:T, top:T, near:T, far:T) -> Self where T: num::Float+num::NumCast { [INFO] [stderr] | ^^^^ help: consider using `_near` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `far` [INFO] [stderr] --> src/math/matrix.rs:161:62 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn frustum(left:T, right:T, bottom:T, top:T, near:T, far:T) -> Self where T: num::Float+num::NumCast { [INFO] [stderr] | ^^^ help: consider using `_far` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/math/quaternion.rs:62:18 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn slerp(a: &Quaternion, b: &Quaternion, t: T) -> Quaternion { [INFO] [stderr] | ^ help: consider using `_a` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/math/quaternion.rs:62:37 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn slerp(a: &Quaternion, b: &Quaternion, t: T) -> Quaternion { [INFO] [stderr] | ^ help: consider using `_b` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/math/quaternion.rs:62:56 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn slerp(a: &Quaternion, b: &Quaternion, t: T) -> Quaternion { [INFO] [stderr] | ^ help: consider using `_t` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/core/world.rs:115:52 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn remove_component(&mut self, e: Entity) -> bool { [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entity` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:42:21 [INFO] [stderr] | [INFO] [stderr] 42 | for entity in dirty.iter() { [INFO] [stderr] | ^^^^^^ help: consider using `_entity` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `delta_time` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:32:26 [INFO] [stderr] | [INFO] [stderr] 32 | fn update(&mut self, delta_time: f64, world: &mut World) { [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_delta_time` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/core/world.rs:44:18 [INFO] [stderr] | [INFO] [stderr] 44 | Some(mut guard) => { [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/core/world.rs:122:16 [INFO] [stderr] | [INFO] [stderr] 122 | pub fn run(mut self, delta_time: f64) -> Self { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/math/matrix.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | / fn index_mut<'a>(&'a mut self, (i, j): (MatrixRow, MatrixColumn)) -> &'a mut T { [INFO] [stderr] 47 | | &mut self.data[matrix_index::index(i, j, self.n)] [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/matrix.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | writeln!(f, " "); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/matrix.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | write!(f, "[ "); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/matrix.rs:60:17 [INFO] [stderr] | [INFO] [stderr] 60 | write!(f, "{:.*}, ", 3, self[(i, j)]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/matrix.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | write!(f, "] "); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/matrix.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | writeln!(f, " "); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: redundant closure found [INFO] [stderr] --> src/math/matrix.rs:74:29 [INFO] [stderr] | [INFO] [stderr] 74 | self.all_pairs(rhs, |v1, v2| math::nearly_equal(v1, v2)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `math::nearly_equal` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/matrix.rs:180:17 [INFO] [stderr] | [INFO] [stderr] 180 | let f = (&target - &origin).normalized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 180 | let f = (target - origin).normalized(); [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `num` [INFO] [stderr] --> src/math/quaternion.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use num::*; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter` [INFO] [stderr] --> src/graphics/transform_system/transform.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::iter::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hash` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::hash::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/math/matrix.rs:560:25 [INFO] [stderr] | [INFO] [stderr] 560 | pub fn as_matrix(rows: MatrixRow, cols: MatrixColumn) -> Matrix [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/math/matrix_result.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | if let &MatrixResult::Done(_) = self { true } else { false } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 24 | if let MatrixResult::Done(_) = *self { true } else { false } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/math/matrix_result.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / match self { [INFO] [stderr] 40 | | &MatrixResult::Done(ref m) => write!(f, "{}", m), [INFO] [stderr] 41 | | _ => { [INFO] [stderr] 42 | | write!(f, "Error"); [INFO] [stderr] 43 | | Ok(()) [INFO] [stderr] 44 | | }, [INFO] [stderr] 45 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 39 | match *self { [INFO] [stderr] 40 | MatrixResult::Done(ref m) => write!(f, "{}", m), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/matrix_result.rs:42:17 [INFO] [stderr] | [INFO] [stderr] 42 | write!(f, "Error"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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 don't need to add `&` to all patterns [INFO] [stderr] --> src/math/matrix_4x4.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | / match self { [INFO] [stderr] 35 | | &MatrixResult::Done(ref m) => m.into(), [INFO] [stderr] 36 | | _ => panic!() [INFO] [stderr] 37 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 34 | match *self { [INFO] [stderr] 35 | MatrixResult::Done(ref m) => m.into(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/math/quaternion.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | let ref quat = self; [INFO] [stderr] | ----^^^^^^^^-------- help: try: `let quat = &self;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/quaternion.rs:226:9 [INFO] [stderr] | [INFO] [stderr] 226 | &self - &rhs [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 226 | self - rhs [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/quaternion.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | &self + &rhs [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 235 | self + rhs [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/quaternion.rs:244:9 [INFO] [stderr] | [INFO] [stderr] 244 | &self * &rhs [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 244 | self * rhs [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/quaternion.rs:304:9 [INFO] [stderr] | [INFO] [stderr] 304 | write!(f, "("); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/quaternion.rs:305:9 [INFO] [stderr] | [INFO] [stderr] 305 | write!(f, "v: {:.*}, ", 3, self.v); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/quaternion.rs:306:9 [INFO] [stderr] | [INFO] [stderr] 306 | write!(f, "s: {:.*}", 3, self.s); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/quaternion.rs:307:9 [INFO] [stderr] | [INFO] [stderr] 307 | write!(f, ")"); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/math/vector.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let ref v = self; [INFO] [stderr] | ----^^^^^-------- help: try: `let v = &self;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/vector.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | &self + &rhs [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 52 | self + rhs [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/vector.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | &self - &rhs [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 74 | self - rhs [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/vector.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | &self * &rhs [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 105 | self * rhs [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/vector.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | write!(f, "("); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/vector.rs:244:9 [INFO] [stderr] | [INFO] [stderr] 244 | write!(f, "{:.*}, ", 3, self.x); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/vector.rs:245:9 [INFO] [stderr] | [INFO] [stderr] 245 | write!(f, "{:.*}, ", 3, self.y); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/vector.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | write!(f, "{:.*}", 3, self.z); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/vector.rs:247:9 [INFO] [stderr] | [INFO] [stderr] 247 | write!(f, ")"); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: item `core::component::ComponentCollection` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/core/component.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | / impl ComponentCollection { [INFO] [stderr] 65 | | /// Returns the length of the collection. [INFO] [stderr] 66 | | /// TODO: Implement ExactSizeIterator and Iterator instead. [INFO] [stderr] 67 | | pub fn len(&self) -> usize { [INFO] [stderr] ... | [INFO] [stderr] 182 | | } [INFO] [stderr] 183 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `core::component::ComponentCollection` [INFO] [stderr] --> src/core/component.rs:134:5 [INFO] [stderr] | [INFO] [stderr] 134 | / pub fn new() -> ComponentCollection { [INFO] [stderr] 135 | | Frequent(Vec::new(), HashSet::new()) [INFO] [stderr] 136 | | } [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] 64 | impl Default for core::component::ComponentCollection { [INFO] [stderr] 65 | fn default() -> Self { [INFO] [stderr] 66 | Self::new() [INFO] [stderr] 67 | } [INFO] [stderr] 68 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | / match self { [INFO] [stderr] 69 | | &Frequent(ref v, _) => v.len(), [INFO] [stderr] 70 | | &Rare(ref h, _) => h.len(), [INFO] [stderr] 71 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 68 | match *self { [INFO] [stderr] 69 | Frequent(ref v, _) => v.len(), [INFO] [stderr] 70 | Rare(ref h, _) => h.len(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | / match self { [INFO] [stderr] 77 | | &Frequent(ref v, _) => { [INFO] [stderr] 78 | | match v.binary_search_by(|&(probe, _)| probe.cmp(&entity)) { [INFO] [stderr] 79 | | Ok(i) => { [INFO] [stderr] ... | [INFO] [stderr] 86 | | &Rare(ref h, _) => h.get(&entity), [INFO] [stderr] 87 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 76 | match *self { [INFO] [stderr] 77 | Frequent(ref v, _) => { [INFO] [stderr] 78 | match v.binary_search_by(|&(probe, _)| probe.cmp(&entity)) { [INFO] [stderr] 79 | Ok(i) => { [INFO] [stderr] 80 | let &(_, ref data) = &v[i]; [INFO] [stderr] 81 | Some(data) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/core/component.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / pub fn get_mut<'a>(&'a mut self, entity: Entity) -> Option> { [INFO] [stderr] 93 | | let (t, dirty) = match self { [INFO] [stderr] 94 | | &mut Frequent(ref mut v, ref mut dirty) => { [INFO] [stderr] 95 | | // search for the entity in the vector [INFO] [stderr] ... | [INFO] [stderr] 114 | | Some(DirtyGuard::new(entity, t, dirty)) [INFO] [stderr] 115 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:93:26 [INFO] [stderr] | [INFO] [stderr] 93 | let (t, dirty) = match self { [INFO] [stderr] | __________________________^ [INFO] [stderr] 94 | | &mut Frequent(ref mut v, ref mut dirty) => { [INFO] [stderr] 95 | | // search for the entity in the vector [INFO] [stderr] 96 | | match v.binary_search_by(|&(probe, _)| probe.cmp(&entity)) { [INFO] [stderr] ... | [INFO] [stderr] 110 | | } [INFO] [stderr] 111 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 93 | let (t, dirty) = match *self { [INFO] [stderr] 94 | Frequent(ref mut v, ref mut dirty) => { [INFO] [stderr] 95 | // search for the entity in the vector [INFO] [stderr] 96 | match v.binary_search_by(|&(probe, _)| probe.cmp(&entity)) { [INFO] [stderr] 97 | Ok(i) => { [INFO] [stderr] 98 | // return the reference to the data and the reference to the dirty queue [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | / match self { [INFO] [stderr] 120 | | &Frequent(_, ref dirty) => dirty, [INFO] [stderr] 121 | | &Rare(_, ref dirty) => dirty [INFO] [stderr] 122 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 119 | match *self { [INFO] [stderr] 120 | Frequent(_, ref dirty) => dirty, [INFO] [stderr] 121 | Rare(_, ref dirty) => dirty [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | / match self { [INFO] [stderr] 127 | | &mut Frequent(_, ref mut dirty) => dirty, [INFO] [stderr] 128 | | &mut Rare(_, ref mut dirty) => dirty [INFO] [stderr] 129 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 126 | match *self { [INFO] [stderr] 127 | Frequent(_, ref mut dirty) => dirty, [INFO] [stderr] 128 | Rare(_, ref mut dirty) => dirty [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | / match self { [INFO] [stderr] 152 | | &mut Frequent(ref mut v, ref mut dirty) => { [INFO] [stderr] 153 | | // search if the entity already exists [INFO] [stderr] 154 | | match v.binary_search_by(|&(probe, _)| probe.cmp(&entity)) { [INFO] [stderr] ... | [INFO] [stderr] 168 | | } [INFO] [stderr] 169 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 151 | match *self { [INFO] [stderr] 152 | Frequent(ref mut v, ref mut dirty) => { [INFO] [stderr] 153 | // search if the entity already exists [INFO] [stderr] 154 | match v.binary_search_by(|&(probe, _)| probe.cmp(&entity)) { [INFO] [stderr] 155 | Ok(i) => { [INFO] [stderr] 156 | // if the entity exists, override the value [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/core/component.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | / match self { [INFO] [stderr] 179 | | &mut Frequent(ref mut v, _) => v.sort_by_key(|&(e, _)| e), [INFO] [stderr] 180 | | _ => {} [INFO] [stderr] 181 | | } [INFO] [stderr] | |_________^ help: try this: `if let &mut Frequent(ref mut v, _) = self { v.sort_by_key(|&(e, _)| e) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | / match self { [INFO] [stderr] 179 | | &mut Frequent(ref mut v, _) => v.sort_by_key(|&(e, _)| e), [INFO] [stderr] 180 | | _ => {} [INFO] [stderr] 181 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 178 | match *self { [INFO] [stderr] 179 | Frequent(ref mut v, _) => v.sort_by_key(|&(e, _)| e), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/core/world.rs:21:14 [INFO] [stderr] | [INFO] [stderr] 21 | systems: Rc)>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `core::world::World` [INFO] [stderr] --> src/core/world.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | / pub fn new() -> World { [INFO] [stderr] 91 | | World { [INFO] [stderr] 92 | | entities: Vec::new(), [INFO] [stderr] 93 | | components: HashMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 96 | | } [INFO] [stderr] 97 | | } [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] 13 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/core/world.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | / pub fn get_components<'a, C: 'static>(&'a self) -> Option>>> { [INFO] [stderr] 82 | | match self.components.get(&TypeId::of::()) { [INFO] [stderr] 83 | | Some(boxed) => Some(boxed.downcast_ref::>>>().unwrap().clone()), [INFO] [stderr] 84 | | _ => None [INFO] [stderr] 85 | | } [INFO] [stderr] 86 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dt` [INFO] [stderr] --> src/test/opengl_test.rs:21:23 [INFO] [stderr] | [INFO] [stderr] 21 | let (mut dev, rt, dt) = opengl::GlBackend::new:: src/test/opengl_test.rs:100:9 [INFO] [stderr] | [INFO] [stderr] 100 | for i in 0..500 { [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entity` [INFO] [stderr] --> src/test/ecs_test.rs:103:14 [INFO] [stderr] | [INFO] [stderr] 103 | let (entity, ref mut transform) = components[0]; [INFO] [stderr] | ^^^^^^ help: consider using `_entity` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `left` [INFO] [stderr] --> src/math/matrix.rs:161:20 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn frustum(left:T, right:T, bottom:T, top:T, near:T, far:T) -> Self where T: num::Float+num::NumCast { [INFO] [stderr] | ^^^^ help: consider using `_left` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `right` [INFO] [stderr] --> src/math/matrix.rs:161:28 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn frustum(left:T, right:T, bottom:T, top:T, near:T, far:T) -> Self where T: num::Float+num::NumCast { [INFO] [stderr] | ^^^^^ help: consider using `_right` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bottom` [INFO] [stderr] --> src/math/matrix.rs:161:37 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn frustum(left:T, right:T, bottom:T, top:T, near:T, far:T) -> Self where T: num::Float+num::NumCast { [INFO] [stderr] | ^^^^^^ help: consider using `_bottom` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `top` [INFO] [stderr] --> src/math/matrix.rs:161:47 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn frustum(left:T, right:T, bottom:T, top:T, near:T, far:T) -> Self where T: num::Float+num::NumCast { [INFO] [stderr] | ^^^ help: consider using `_top` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `near` [INFO] [stderr] --> src/math/matrix.rs:161:54 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn frustum(left:T, right:T, bottom:T, top:T, near:T, far:T) -> Self where T: num::Float+num::NumCast { [INFO] [stderr] | ^^^^ help: consider using `_near` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `far` [INFO] [stderr] --> src/math/matrix.rs:161:62 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn frustum(left:T, right:T, bottom:T, top:T, near:T, far:T) -> Self where T: num::Float+num::NumCast { [INFO] [stderr] | ^^^ help: consider using `_far` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/math/quaternion.rs:62:18 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn slerp(a: &Quaternion, b: &Quaternion, t: T) -> Quaternion { [INFO] [stderr] | ^ help: consider using `_a` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/math/quaternion.rs:62:37 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn slerp(a: &Quaternion, b: &Quaternion, t: T) -> Quaternion { [INFO] [stderr] | ^ help: consider using `_b` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/math/quaternion.rs:62:56 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn slerp(a: &Quaternion, b: &Quaternion, t: T) -> Quaternion { [INFO] [stderr] | ^ help: consider using `_t` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/core/world.rs:115:52 [INFO] [stderr] | [INFO] [stderr] 115 | pub fn remove_component(&mut self, e: Entity) -> bool { [INFO] [stderr] | ^ help: consider using `_e` instead [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/graphics/mod.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | -> (Self, RenderTarget, DepthTarget) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: unused variable: `entity` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:42:21 [INFO] [stderr] | [INFO] [stderr] 42 | for entity in dirty.iter() { [INFO] [stderr] | ^^^^^^ help: consider using `_entity` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `delta_time` [INFO] [stderr] --> src/graphics/transform_system/transform_system.rs:32:26 [INFO] [stderr] | [INFO] [stderr] 32 | fn update(&mut self, delta_time: f64, world: &mut World) { [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_delta_time` instead [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/graphics/opengl.rs:23:16 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new<'a, T: Into>(title: T, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/graphics/opengl.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | -> (GlBackend, RenderTarget, DepthTarget) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: reference to uninitialized memory [INFO] [stderr] --> src/graphics/pipelines.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / gfx_defines!{ [INFO] [stderr] 6 | | vertex VertexPos2D { [INFO] [stderr] 7 | | pos: [f32; 2] = "a_Pos", [INFO] [stderr] 8 | | color: [f32; 3] = "a_Color", [INFO] [stderr] ... | [INFO] [stderr] 13 | | } [INFO] [stderr] 14 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::invalid_ref)] on by default [INFO] [stderr] = help: Creation of a null reference is undefined behavior; see https://doc.rust-lang.org/reference/behavior-considered-undefined.html [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#invalid_ref [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: reference to uninitialized memory [INFO] [stderr] --> src/graphics/pipelines.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / gfx_defines!{ [INFO] [stderr] 6 | | vertex VertexPos2D { [INFO] [stderr] 7 | | pos: [f32; 2] = "a_Pos", [INFO] [stderr] 8 | | color: [f32; 3] = "a_Color", [INFO] [stderr] ... | [INFO] [stderr] 13 | | } [INFO] [stderr] 14 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: Creation of a null reference is undefined behavior; see https://doc.rust-lang.org/reference/behavior-considered-undefined.html [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#invalid_ref [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: reference to uninitialized memory [INFO] [stderr] --> src/graphics/pipelines.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | / gfx_defines! { [INFO] [stderr] 54 | | constant Locals { [INFO] [stderr] 55 | | transform: ColumnMajor4x4 = "u_Transform", // locals only specifies the matrix u_Transform [INFO] [stderr] 56 | | } [INFO] [stderr] 57 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: Creation of a null reference is undefined behavior; see https://doc.rust-lang.org/reference/behavior-considered-undefined.html [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#invalid_ref [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: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `vyre_rs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/core/world.rs:44:18 [INFO] [stderr] | [INFO] [stderr] 44 | Some(mut guard) => { [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/core/world.rs:122:16 [INFO] [stderr] | [INFO] [stderr] 122 | pub fn run(mut self, delta_time: f64) -> Self { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/math/matrix.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | / fn index_mut<'a>(&'a mut self, (i, j): (MatrixRow, MatrixColumn)) -> &'a mut T { [INFO] [stderr] 47 | | &mut self.data[matrix_index::index(i, j, self.n)] [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/matrix.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | writeln!(f, " "); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/matrix.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | write!(f, "[ "); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/matrix.rs:60:17 [INFO] [stderr] | [INFO] [stderr] 60 | write!(f, "{:.*}, ", 3, self[(i, j)]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/matrix.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | write!(f, "] "); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/matrix.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | writeln!(f, " "); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: redundant closure found [INFO] [stderr] --> src/math/matrix.rs:74:29 [INFO] [stderr] | [INFO] [stderr] 74 | self.all_pairs(rhs, |v1, v2| math::nearly_equal(v1, v2)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `math::nearly_equal` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/matrix.rs:180:17 [INFO] [stderr] | [INFO] [stderr] 180 | let f = (&target - &origin).normalized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 180 | let f = (target - origin).normalized(); [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods called `as_*` usually take self by reference or self by mutable reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/math/matrix.rs:560:25 [INFO] [stderr] | [INFO] [stderr] 560 | pub fn as_matrix(rows: MatrixRow, cols: MatrixColumn) -> Matrix [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/math/matrix_result.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | if let &MatrixResult::Done(_) = self { true } else { false } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 24 | if let MatrixResult::Done(_) = *self { true } else { false } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/math/matrix_result.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / match self { [INFO] [stderr] 40 | | &MatrixResult::Done(ref m) => write!(f, "{}", m), [INFO] [stderr] 41 | | _ => { [INFO] [stderr] 42 | | write!(f, "Error"); [INFO] [stderr] 43 | | Ok(()) [INFO] [stderr] 44 | | }, [INFO] [stderr] 45 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 39 | match *self { [INFO] [stderr] 40 | MatrixResult::Done(ref m) => write!(f, "{}", m), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/matrix_result.rs:42:17 [INFO] [stderr] | [INFO] [stderr] 42 | write!(f, "Error"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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 don't need to add `&` to all patterns [INFO] [stderr] --> src/math/matrix_4x4.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | / match self { [INFO] [stderr] 35 | | &MatrixResult::Done(ref m) => m.into(), [INFO] [stderr] 36 | | _ => panic!() [INFO] [stderr] 37 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 34 | match *self { [INFO] [stderr] 35 | MatrixResult::Done(ref m) => m.into(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/math/quaternion.rs:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | let ref quat = self; [INFO] [stderr] | ----^^^^^^^^-------- help: try: `let quat = &self;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/quaternion.rs:226:9 [INFO] [stderr] | [INFO] [stderr] 226 | &self - &rhs [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 226 | self - rhs [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/quaternion.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | &self + &rhs [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 235 | self + rhs [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/quaternion.rs:244:9 [INFO] [stderr] | [INFO] [stderr] 244 | &self * &rhs [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 244 | self * rhs [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/quaternion.rs:304:9 [INFO] [stderr] | [INFO] [stderr] 304 | write!(f, "("); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/quaternion.rs:305:9 [INFO] [stderr] | [INFO] [stderr] 305 | write!(f, "v: {:.*}, ", 3, self.v); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/quaternion.rs:306:9 [INFO] [stderr] | [INFO] [stderr] 306 | write!(f, "s: {:.*}", 3, self.s); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/quaternion.rs:307:9 [INFO] [stderr] | [INFO] [stderr] 307 | write!(f, ")"); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/math/vector.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let ref v = self; [INFO] [stderr] | ----^^^^^-------- help: try: `let v = &self;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/vector.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | &self + &rhs [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 52 | self + rhs [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/vector.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | &self - &rhs [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 74 | self - rhs [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/math/vector.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | &self * &rhs [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 105 | self * rhs [INFO] [stderr] | ^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/vector.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | write!(f, "("); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/vector.rs:244:9 [INFO] [stderr] | [INFO] [stderr] 244 | write!(f, "{:.*}, ", 3, self.x); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/vector.rs:245:9 [INFO] [stderr] | [INFO] [stderr] 245 | write!(f, "{:.*}, ", 3, self.y); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/vector.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | write!(f, "{:.*}", 3, self.z); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/math/vector.rs:247:9 [INFO] [stderr] | [INFO] [stderr] 247 | write!(f, ")"); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [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: item `core::component::ComponentCollection` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/core/component.rs:64:1 [INFO] [stderr] | [INFO] [stderr] 64 | / impl ComponentCollection { [INFO] [stderr] 65 | | /// Returns the length of the collection. [INFO] [stderr] 66 | | /// TODO: Implement ExactSizeIterator and Iterator instead. [INFO] [stderr] 67 | | pub fn len(&self) -> usize { [INFO] [stderr] ... | [INFO] [stderr] 182 | | } [INFO] [stderr] 183 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `core::component::ComponentCollection` [INFO] [stderr] --> src/core/component.rs:134:5 [INFO] [stderr] | [INFO] [stderr] 134 | / pub fn new() -> ComponentCollection { [INFO] [stderr] 135 | | Frequent(Vec::new(), HashSet::new()) [INFO] [stderr] 136 | | } [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] 64 | impl Default for core::component::ComponentCollection { [INFO] [stderr] 65 | fn default() -> Self { [INFO] [stderr] 66 | Self::new() [INFO] [stderr] 67 | } [INFO] [stderr] 68 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | / match self { [INFO] [stderr] 69 | | &Frequent(ref v, _) => v.len(), [INFO] [stderr] 70 | | &Rare(ref h, _) => h.len(), [INFO] [stderr] 71 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 68 | match *self { [INFO] [stderr] 69 | Frequent(ref v, _) => v.len(), [INFO] [stderr] 70 | Rare(ref h, _) => h.len(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | / match self { [INFO] [stderr] 77 | | &Frequent(ref v, _) => { [INFO] [stderr] 78 | | match v.binary_search_by(|&(probe, _)| probe.cmp(&entity)) { [INFO] [stderr] 79 | | Ok(i) => { [INFO] [stderr] ... | [INFO] [stderr] 86 | | &Rare(ref h, _) => h.get(&entity), [INFO] [stderr] 87 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 76 | match *self { [INFO] [stderr] 77 | Frequent(ref v, _) => { [INFO] [stderr] 78 | match v.binary_search_by(|&(probe, _)| probe.cmp(&entity)) { [INFO] [stderr] 79 | Ok(i) => { [INFO] [stderr] 80 | let &(_, ref data) = &v[i]; [INFO] [stderr] 81 | Some(data) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/core/component.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / pub fn get_mut<'a>(&'a mut self, entity: Entity) -> Option> { [INFO] [stderr] 93 | | let (t, dirty) = match self { [INFO] [stderr] 94 | | &mut Frequent(ref mut v, ref mut dirty) => { [INFO] [stderr] 95 | | // search for the entity in the vector [INFO] [stderr] ... | [INFO] [stderr] 114 | | Some(DirtyGuard::new(entity, t, dirty)) [INFO] [stderr] 115 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:93:26 [INFO] [stderr] | [INFO] [stderr] 93 | let (t, dirty) = match self { [INFO] [stderr] | __________________________^ [INFO] [stderr] 94 | | &mut Frequent(ref mut v, ref mut dirty) => { [INFO] [stderr] 95 | | // search for the entity in the vector [INFO] [stderr] 96 | | match v.binary_search_by(|&(probe, _)| probe.cmp(&entity)) { [INFO] [stderr] ... | [INFO] [stderr] 110 | | } [INFO] [stderr] 111 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 93 | let (t, dirty) = match *self { [INFO] [stderr] 94 | Frequent(ref mut v, ref mut dirty) => { [INFO] [stderr] 95 | // search for the entity in the vector [INFO] [stderr] 96 | match v.binary_search_by(|&(probe, _)| probe.cmp(&entity)) { [INFO] [stderr] 97 | Ok(i) => { [INFO] [stderr] 98 | // return the reference to the data and the reference to the dirty queue [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | / match self { [INFO] [stderr] 120 | | &Frequent(_, ref dirty) => dirty, [INFO] [stderr] 121 | | &Rare(_, ref dirty) => dirty [INFO] [stderr] 122 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 119 | match *self { [INFO] [stderr] 120 | Frequent(_, ref dirty) => dirty, [INFO] [stderr] 121 | Rare(_, ref dirty) => dirty [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | / match self { [INFO] [stderr] 127 | | &mut Frequent(_, ref mut dirty) => dirty, [INFO] [stderr] 128 | | &mut Rare(_, ref mut dirty) => dirty [INFO] [stderr] 129 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 126 | match *self { [INFO] [stderr] 127 | Frequent(_, ref mut dirty) => dirty, [INFO] [stderr] 128 | Rare(_, ref mut dirty) => dirty [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | / match self { [INFO] [stderr] 152 | | &mut Frequent(ref mut v, ref mut dirty) => { [INFO] [stderr] 153 | | // search if the entity already exists [INFO] [stderr] 154 | | match v.binary_search_by(|&(probe, _)| probe.cmp(&entity)) { [INFO] [stderr] ... | [INFO] [stderr] 168 | | } [INFO] [stderr] 169 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 151 | match *self { [INFO] [stderr] 152 | Frequent(ref mut v, ref mut dirty) => { [INFO] [stderr] 153 | // search if the entity already exists [INFO] [stderr] 154 | match v.binary_search_by(|&(probe, _)| probe.cmp(&entity)) { [INFO] [stderr] 155 | Ok(i) => { [INFO] [stderr] 156 | // if the entity exists, override the value [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/core/component.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | / match self { [INFO] [stderr] 179 | | &mut Frequent(ref mut v, _) => v.sort_by_key(|&(e, _)| e), [INFO] [stderr] 180 | | _ => {} [INFO] [stderr] 181 | | } [INFO] [stderr] | |_________^ help: try this: `if let &mut Frequent(ref mut v, _) = self { v.sort_by_key(|&(e, _)| e) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/core/component.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | / match self { [INFO] [stderr] 179 | | &mut Frequent(ref mut v, _) => v.sort_by_key(|&(e, _)| e), [INFO] [stderr] 180 | | _ => {} [INFO] [stderr] 181 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 178 | match *self { [INFO] [stderr] 179 | Frequent(ref mut v, _) => v.sort_by_key(|&(e, _)| e), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/core/world.rs:21:14 [INFO] [stderr] | [INFO] [stderr] 21 | systems: Rc)>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `core::world::World` [INFO] [stderr] --> src/core/world.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | / pub fn new() -> World { [INFO] [stderr] 91 | | World { [INFO] [stderr] 92 | | entities: Vec::new(), [INFO] [stderr] 93 | | components: HashMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 96 | | } [INFO] [stderr] 97 | | } [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] 13 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/core/world.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | / pub fn get_components<'a, C: 'static>(&'a self) -> Option>>> { [INFO] [stderr] 82 | | match self.components.get(&TypeId::of::()) { [INFO] [stderr] 83 | | Some(boxed) => Some(boxed.downcast_ref::>>>().unwrap().clone()), [INFO] [stderr] 84 | | _ => None [INFO] [stderr] 85 | | } [INFO] [stderr] 86 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/graphics/mod.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | -> (Self, RenderTarget, DepthTarget) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/graphics/opengl.rs:23:16 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new<'a, T: Into>(title: T, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/graphics/opengl.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | -> (GlBackend, RenderTarget, DepthTarget) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: reference to uninitialized memory [INFO] [stderr] --> src/graphics/pipelines.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / gfx_defines!{ [INFO] [stderr] 6 | | vertex VertexPos2D { [INFO] [stderr] 7 | | pos: [f32; 2] = "a_Pos", [INFO] [stderr] 8 | | color: [f32; 3] = "a_Color", [INFO] [stderr] ... | [INFO] [stderr] 13 | | } [INFO] [stderr] 14 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::invalid_ref)] on by default [INFO] [stderr] = help: Creation of a null reference is undefined behavior; see https://doc.rust-lang.org/reference/behavior-considered-undefined.html [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#invalid_ref [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: reference to uninitialized memory [INFO] [stderr] --> src/graphics/pipelines.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | / gfx_defines!{ [INFO] [stderr] 6 | | vertex VertexPos2D { [INFO] [stderr] 7 | | pos: [f32; 2] = "a_Pos", [INFO] [stderr] 8 | | color: [f32; 3] = "a_Color", [INFO] [stderr] ... | [INFO] [stderr] 13 | | } [INFO] [stderr] 14 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: Creation of a null reference is undefined behavior; see https://doc.rust-lang.org/reference/behavior-considered-undefined.html [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#invalid_ref [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: reference to uninitialized memory [INFO] [stderr] --> src/graphics/pipelines.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | / gfx_defines! { [INFO] [stderr] 54 | | constant Locals { [INFO] [stderr] 55 | | transform: ColumnMajor4x4 = "u_Transform", // locals only specifies the matrix u_Transform [INFO] [stderr] 56 | | } [INFO] [stderr] 57 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: Creation of a null reference is undefined behavior; see https://doc.rust-lang.org/reference/behavior-considered-undefined.html [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#invalid_ref [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: needlessly taken reference of both operands [INFO] [stderr] --> src/test/matrix_test.rs:71:43 [INFO] [stderr] | [INFO] [stderr] 71 | let add_iter = (0..(16 * 16)).map(|i| &m1.data[i] + &m2.data[i]); // should be equal to direct addition [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 71 | let add_iter = (0..(16 * 16)).map(|i| m1.data[i] + m2.data[i]); // should be equal to direct addition [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/test/matrix_test.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | assert_eq!(cross_left.x.abs(), cross_right.x.abs()); [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/test/matrix_test.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | assert_eq!(cross_left.x.abs(), cross_right.x.abs()); [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/test/matrix_test.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | assert_eq!(cross_left.y.abs(), cross_right.y.abs()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/test/matrix_test.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | assert_eq!(cross_left.y.abs(), cross_right.y.abs()); [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/test/matrix_test.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | assert_eq!(cross_left.z.abs(), cross_right.z.abs()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/test/matrix_test.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | assert_eq!(cross_left.z.abs(), cross_right.z.abs()); [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/test/matrix_test.rs:121:21 [INFO] [stderr] | [INFO] [stderr] 121 | assert!(m1[(i, j)] == attached[(i, j)]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m1[(i, j)] - attached[(i, j)]).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/test/matrix_test.rs:121:21 [INFO] [stderr] | [INFO] [stderr] 121 | assert!(m1[(i, j)] == attached[(i, j)]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/test/matrix_test.rs:124:21 [INFO] [stderr] | [INFO] [stderr] 124 | assert!(m2[(i, j)] == attached[(i, j + m1.n)]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m2[(i, j)] - attached[(i, j + m1.n)]).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/test/matrix_test.rs:124:21 [INFO] [stderr] | [INFO] [stderr] 124 | assert!(m2[(i, j)] == attached[(i, j + m1.n)]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/test/quaternion_test.rs:43:31 [INFO] [stderr] | [INFO] [stderr] 43 | let angles = Vector3::new(Range::new(0i32, 360i32).ind_sample(&mut rng) as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(Range::new(0i32, 360i32).ind_sample(&mut rng))` [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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/test/quaternion_test.rs:44:31 [INFO] [stderr] | [INFO] [stderr] 44 | Range::new(0i32, 360i32).ind_sample(&mut rng) as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(Range::new(0i32, 360i32).ind_sample(&mut rng))` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/test/quaternion_test.rs:45:31 [INFO] [stderr] | [INFO] [stderr] 45 | Range::new(0i32, 360i32).ind_sample(&mut rng) as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(Range::new(0i32, 360i32).ind_sample(&mut rng))` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/test/quaternion_test.rs:174:31 [INFO] [stderr] | [INFO] [stderr] 174 | let angles = Vector3::new(Range::new(0i32, 360i32).ind_sample(&mut rng) as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(Range::new(0i32, 360i32).ind_sample(&mut rng))` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/test/quaternion_test.rs:175:26 [INFO] [stderr] | [INFO] [stderr] 175 | Range::new(0i32, 360i32).ind_sample(&mut rng) as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(Range::new(0i32, 360i32).ind_sample(&mut rng))` [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 f64 may become silently lossy if types change [INFO] [stderr] --> src/test/quaternion_test.rs:176:26 [INFO] [stderr] | [INFO] [stderr] 176 | Range::new(0i32, 360i32).ind_sample(&mut rng) as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(Range::new(0i32, 360i32).ind_sample(&mut rng))` [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/test/ecs_test.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | assert!(cc1.read().unwrap().get(entity2).unwrap().0 == 700f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(cc1.read().unwrap().get(entity2).unwrap().0 - 700f32).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/test/ecs_test.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | assert!(cc1.read().unwrap().get(entity2).unwrap().0 == 700f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/test/ecs_test.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | assert!(cc1.read().unwrap().get(entity2).unwrap().0 == 500.65f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(cc1.read().unwrap().get(entity2).unwrap().0 - 500.65f32).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/test/ecs_test.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | assert!(cc1.read().unwrap().get(entity2).unwrap().0 == 500.65f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/test/ecs_test.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | assert!(cc1.read().unwrap().get(entity1).unwrap().0 == 42f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(cc1.read().unwrap().get(entity1).unwrap().0 - 42f32).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/test/ecs_test.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | assert!(cc1.read().unwrap().get(entity1).unwrap().0 == 42f32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: aborting due to 11 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `vyre_rs`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "3ae6f61439a0731d64c0aedfc1359f3690afd9b2076f80df7d863c221203c93f"` [INFO] running `"docker" "rm" "-f" "3ae6f61439a0731d64c0aedfc1359f3690afd9b2076f80df7d863c221203c93f"` [INFO] [stdout] 3ae6f61439a0731d64c0aedfc1359f3690afd9b2076f80df7d863c221203c93f