[INFO] crate amethyst_renderer 0.10.0 is already in cache [INFO] extracting crate amethyst_renderer 0.10.0 into work/ex/clippy-test-run/sources/stable/reg/amethyst_renderer/0.10.0 [INFO] extracting crate amethyst_renderer 0.10.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/amethyst_renderer/0.10.0 [INFO] validating manifest of amethyst_renderer-0.10.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of amethyst_renderer-0.10.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing amethyst_renderer-0.10.0 [INFO] finished frobbing amethyst_renderer-0.10.0 [INFO] frobbed toml for amethyst_renderer-0.10.0 written to work/ex/clippy-test-run/sources/stable/reg/amethyst_renderer/0.10.0/Cargo.toml [INFO] started frobbing amethyst_renderer-0.10.0 [INFO] finished frobbing amethyst_renderer-0.10.0 [INFO] frobbed toml for amethyst_renderer-0.10.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/amethyst_renderer/0.10.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting amethyst_renderer-0.10.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/amethyst_renderer/0.10.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] bc2842abdae8130bb1b21b8c89098bb46e4e2cdaf3afa369e23c03c2a26a26e3 [INFO] running `"docker" "start" "-a" "bc2842abdae8130bb1b21b8c89098bb46e4e2cdaf3afa369e23c03c2a26a26e3"` [INFO] [stderr] Compiling cgmath v0.16.1 [INFO] [stderr] Checking hetseq v0.2.0 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Compiling gfx_macros v0.2.1 [INFO] [stderr] Compiling glsl-layout-derive v0.1.1 [INFO] [stderr] Checking rusttype v0.7.3 [INFO] [stderr] Compiling amethyst_derive v0.3.0 [INFO] [stderr] Checking serde v1.0.85 [INFO] [stderr] Checking image v0.20.1 [INFO] [stderr] Checking andrew v0.1.6 [INFO] [stderr] Checking smithay-client-toolkit v0.4.4 [INFO] [stderr] Checking genmesh v0.6.2 [INFO] [stderr] Checking smallvec v0.6.8 [INFO] [stderr] Checking num-complex v0.2.1 [INFO] [stderr] Checking draw_state v0.8.0 [INFO] [stderr] Checking ron v0.4.1 [INFO] [stderr] Checking parking_lot_core v0.3.1 [INFO] [stderr] Checking parking_lot_core v0.2.14 [INFO] [stderr] Checking parking_lot_core v0.4.0 [INFO] [stderr] Checking shred v0.7.1 [INFO] [stderr] Checking alga v0.7.2 [INFO] [stderr] Checking gfx_core v0.8.3 [INFO] [stderr] Checking parking_lot v0.5.5 [INFO] [stderr] Checking parking_lot v0.6.4 [INFO] [stderr] Checking parking_lot v0.7.1 [INFO] [stderr] Checking shrev v1.0.1 [INFO] [stderr] Checking crossbeam-channel v0.2.6 [INFO] [stderr] Checking winit v0.18.1 [INFO] [stderr] Checking nalgebra v0.16.13 [INFO] [stderr] Checking crossbeam v0.4.1 [INFO] [stderr] Checking specs v0.14.3 [INFO] [stderr] Checking glutin v0.19.0 [INFO] [stderr] Checking specs-hierarchy v0.3.0 [INFO] [stderr] Checking gfx_device_gl v0.15.5 [INFO] [stderr] Checking glsl-layout v0.1.1 [INFO] [stderr] Checking gfx v0.17.1 [INFO] [stderr] Checking gfx_window_glutin v0.27.0 [INFO] [stderr] Checking amethyst_core v0.5.0 [INFO] [stderr] Checking amethyst_assets v0.6.0 [INFO] [stderr] Checking amethyst_renderer v0.10.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `amethyst_core` [INFO] [stderr] --> src/lib.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | use amethyst_core; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `gfx_core` [INFO] [stderr] --> src/lib.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | use gfx_core; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `winit` [INFO] [stderr] --> src/lib.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | use winit; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gfx_device_gl` [INFO] [stderr] --> src/lib.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | use gfx_device_gl; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gfx_window_glutin` [INFO] [stderr] --> src/lib.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | use gfx_window_glutin; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `glutin` [INFO] [stderr] --> src/lib.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | use glutin; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/pipe/mod.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | mod pipe; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cam.rs:271:24 [INFO] [stderr] | [INFO] [stderr] 271 | const FIELDS: &'static [&'static str] = [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cam.rs:271:34 [INFO] [stderr] | [INFO] [stderr] 271 | const FIELDS: &'static [&'static str] = [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cam.rs:402:24 [INFO] [stderr] | [INFO] [stderr] 402 | const FIELDS: &'static [&'static str] = &["aspect", "fovy", "znear", "zfar"]; [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]` [INFO] [stderr] | [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cam.rs:402:34 [INFO] [stderr] | [INFO] [stderr] 402 | const FIELDS: &'static [&'static str] = &["aspect", "fovy", "znear", "zfar"]; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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: lint name `float_cmp` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/renderer.rs:74:48 [INFO] [stderr] | [INFO] [stderr] 74 | #[cfg_attr(feature = "cargo-clippy", allow(float_cmp))] // cmp just used to recognize change [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::float_cmp` [INFO] [stderr] [INFO] [stderr] warning: unused import: `amethyst_core` [INFO] [stderr] --> src/lib.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | use amethyst_core; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `gfx_core` [INFO] [stderr] --> src/lib.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | use gfx_core; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `winit` [INFO] [stderr] --> src/lib.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | use winit; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gfx_device_gl` [INFO] [stderr] --> src/lib.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | use gfx_device_gl; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `gfx_window_glutin` [INFO] [stderr] --> src/lib.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | use gfx_window_glutin; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `glutin` [INFO] [stderr] --> src/lib.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | use glutin; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/pipe/mod.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | mod pipe; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cam.rs:271:24 [INFO] [stderr] | [INFO] [stderr] 271 | const FIELDS: &'static [&'static str] = [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cam.rs:271:34 [INFO] [stderr] | [INFO] [stderr] 271 | const FIELDS: &'static [&'static str] = [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cam.rs:402:24 [INFO] [stderr] | [INFO] [stderr] 402 | const FIELDS: &'static [&'static str] = &["aspect", "fovy", "znear", "zfar"]; [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'static str]` [INFO] [stderr] | [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cam.rs:402:34 [INFO] [stderr] | [INFO] [stderr] 402 | const FIELDS: &'static [&'static str] = &["aspect", "fovy", "znear", "zfar"]; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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: lint name `float_cmp` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/renderer.rs:74:48 [INFO] [stderr] | [INFO] [stderr] 74 | #[cfg_attr(feature = "cargo-clippy", allow(float_cmp))] // cmp just used to recognize change [INFO] [stderr] | ^^^^^^^^^ help: change it to: `clippy::float_cmp` [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/pipe/effect/pso.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | / fn link_to<'r>(&self, desc: &mut Descriptor, info: &'r ProgramInfo) -> InitResult<'r, Meta> { [INFO] [stderr] 53 | | let mut meta = Meta::default(); [INFO] [stderr] 54 | | [INFO] [stderr] 55 | | for cbuf in &self.const_bufs { [INFO] [stderr] ... | [INFO] [stderr] 180 | | Ok(meta) [INFO] [stderr] 181 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/config.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn to_windowbuilder(self, el: winit::EventsLoop) -> WindowBuilder { [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: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:43:23 [INFO] [stderr] | [INFO] [stderr] 43 | position: position.to_homogeneous().xyz().into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `position.to_homogeneous().xyz()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:45:21 [INFO] [stderr] | [INFO] [stderr] 45 | normal: direction.into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `direction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:54:23 [INFO] [stderr] | [INFO] [stderr] 54 | position: start.to_homogeneous().xyz().into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `start.to_homogeneous().xyz()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | normal: (end - start).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(end - start)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:95:23 [INFO] [stderr] | [INFO] [stderr] 95 | position: position.to_homogeneous().xyz().into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `position.to_homogeneous().xyz()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:97:21 [INFO] [stderr] | [INFO] [stderr] 97 | normal: direction.into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `direction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:106:23 [INFO] [stderr] | [INFO] [stderr] 106 | position: start.to_homogeneous().xyz().into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `start.to_homogeneous().xyz()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:108:21 [INFO] [stderr] | [INFO] [stderr] 108 | normal: (end - start).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(end - start)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/formats/mesh.rs:153:14 [INFO] [stderr] | [INFO] [stderr] 153 | .unwrap_or(Vector3::new(0.0, 0.0, 0.0)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Vector3::new(0.0, 0.0, 0.0))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/formats/mesh.rs:159:14 [INFO] [stderr] | [INFO] [stderr] 159 | .unwrap_or(Vector2::new(0.0, 0.0)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Vector2::new(0.0, 0.0))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/pipe/effect/pso.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | / fn link_to<'r>(&self, desc: &mut Descriptor, info: &'r ProgramInfo) -> InitResult<'r, Meta> { [INFO] [stderr] 53 | | let mut meta = Meta::default(); [INFO] [stderr] 54 | | [INFO] [stderr] 55 | | for cbuf in &self.const_bufs { [INFO] [stderr] ... | [INFO] [stderr] 180 | | Ok(meta) [INFO] [stderr] 181 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/light.rs:185:50 [INFO] [stderr] | [INFO] [stderr] 185 | #[derive(Default, Clone, Serialize, Deserialize, PrefabData)] [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/pass/debug_lines/interleaved.rs:71:17 [INFO] [stderr] | [INFO] [stderr] 71 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 72 | | Option>, [INFO] [stderr] 73 | | ReadStorage<'a, Camera>, [INFO] [stderr] 74 | | ReadStorage<'a, GlobalTransform>, [INFO] [stderr] ... | [INFO] [stderr] 77 | | Read<'a, DebugLinesParams>, [INFO] [stderr] 78 | | ); [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: this lifetime isn't used in the function definition [INFO] [stderr] --> src/pass/debug_lines/interleaved.rs:101:18 [INFO] [stderr] | [INFO] [stderr] 101 | fn apply<'a, 'b: 'a>( [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: length comparison to zero [INFO] [stderr] --> src/pass/debug_lines/interleaved.rs:123:12 [INFO] [stderr] | [INFO] [stderr] 123 | if debug_lines.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `debug_lines.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/pass/flat/interleaved.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 76 | | Option>, [INFO] [stderr] 77 | | ReadStorage<'a, Camera>, [INFO] [stderr] 78 | | Read<'a, AssetStorage>, [INFO] [stderr] ... | [INFO] [stderr] 86 | | ReadStorage<'a, GlobalTransform>, [INFO] [stderr] 87 | | ); [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/pass/flat/interleaved.rs:112:18 [INFO] [stderr] | [INFO] [stderr] 112 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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/pass/flat/separate.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 85 | | Option>, [INFO] [stderr] 86 | | ReadStorage<'a, Camera>, [INFO] [stderr] 87 | | Read<'a, AssetStorage>, [INFO] [stderr] ... | [INFO] [stderr] 96 | | ReadStorage<'a, JointTransforms>, [INFO] [stderr] 97 | | ); [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/pass/flat/separate.rs:135:18 [INFO] [stderr] | [INFO] [stderr] 135 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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/pass/flat2d/interleaved.rs:67:17 [INFO] [stderr] | [INFO] [stderr] 67 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 68 | | Option>, [INFO] [stderr] 69 | | ReadStorage<'a, Camera>, [INFO] [stderr] 70 | | Read<'a, AssetStorage>, [INFO] [stderr] ... | [INFO] [stderr] 79 | | ReadStorage<'a, MeshHandle>, [INFO] [stderr] 80 | | ); [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/pass/flat2d/interleaved.rs:104:18 [INFO] [stderr] | [INFO] [stderr] 104 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/pass/flat2d/interleaved.rs:297:22 [INFO] [stderr] | [INFO] [stderr] 297 | flipped: flipped.map(|it| it.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `flipped.cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/pass/flat2d/interleaved.rs:340:22 [INFO] [stderr] | [INFO] [stderr] 340 | flipped: flipped.map(|it| it.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `flipped.cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/config.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn to_windowbuilder(self, el: winit::EventsLoop) -> WindowBuilder { [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: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:43:23 [INFO] [stderr] | [INFO] [stderr] 43 | position: position.to_homogeneous().xyz().into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `position.to_homogeneous().xyz()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:45:21 [INFO] [stderr] | [INFO] [stderr] 45 | normal: direction.into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `direction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:54:23 [INFO] [stderr] | [INFO] [stderr] 54 | position: start.to_homogeneous().xyz().into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `start.to_homogeneous().xyz()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | normal: (end - start).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(end - start)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:95:23 [INFO] [stderr] | [INFO] [stderr] 95 | position: position.to_homogeneous().xyz().into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `position.to_homogeneous().xyz()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:97:21 [INFO] [stderr] | [INFO] [stderr] 97 | normal: direction.into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `direction` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:106:23 [INFO] [stderr] | [INFO] [stderr] 106 | position: start.to_homogeneous().xyz().into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `start.to_homogeneous().xyz()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/debug_drawing.rs:108:21 [INFO] [stderr] | [INFO] [stderr] 108 | normal: (end - start).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `(end - start)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/pass/pbm/interleaved.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 79 | | Option>, [INFO] [stderr] 80 | | ReadStorage<'a, Camera>, [INFO] [stderr] 81 | | Read<'a, AmbientColor>, [INFO] [stderr] ... | [INFO] [stderr] 91 | | ReadStorage<'a, Light>, [INFO] [stderr] 92 | | ); [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/pass/pbm/interleaved.rs:112:18 [INFO] [stderr] | [INFO] [stderr] 112 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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/pass/pbm/separate.rs:80:17 [INFO] [stderr] | [INFO] [stderr] 80 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 81 | | Option>, [INFO] [stderr] 82 | | ReadStorage<'a, Camera>, [INFO] [stderr] 83 | | Read<'a, AmbientColor>, [INFO] [stderr] ... | [INFO] [stderr] 94 | | ReadStorage<'a, JointTransforms>, [INFO] [stderr] 95 | | ); [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/pass/pbm/separate.rs:139:18 [INFO] [stderr] | [INFO] [stderr] 139 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/formats/mesh.rs:153:14 [INFO] [stderr] | [INFO] [stderr] 153 | .unwrap_or(Vector3::new(0.0, 0.0, 0.0)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Vector3::new(0.0, 0.0, 0.0))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/formats/mesh.rs:159:14 [INFO] [stderr] | [INFO] [stderr] 159 | .unwrap_or(Vector2::new(0.0, 0.0)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Vector2::new(0.0, 0.0))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/pass/shaded/interleaved.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 79 | | Option>, [INFO] [stderr] 80 | | ReadStorage<'a, Camera>, [INFO] [stderr] 81 | | Read<'a, AmbientColor>, [INFO] [stderr] ... | [INFO] [stderr] 91 | | ReadStorage<'a, Light>, [INFO] [stderr] 92 | | ); [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/pass/shaded/interleaved.rs:112:18 [INFO] [stderr] | [INFO] [stderr] 112 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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/pass/shaded/separate.rs:79:17 [INFO] [stderr] | [INFO] [stderr] 79 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 80 | | Option>, [INFO] [stderr] 81 | | ReadStorage<'a, Camera>, [INFO] [stderr] 82 | | Read<'a, AmbientColor>, [INFO] [stderr] ... | [INFO] [stderr] 93 | | ReadStorage<'a, JointTransforms>, [INFO] [stderr] 94 | | ); [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/pass/shaded/separate.rs:135:18 [INFO] [stderr] | [INFO] [stderr] 135 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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: you should consider deriving a `Default` implementation for `pass::skybox::interleaved::DrawSkybox` [INFO] [stderr] --> src/pass/skybox/interleaved.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / pub fn new() -> Self { [INFO] [stderr] 41 | | DrawSkybox { mesh: None } [INFO] [stderr] 42 | | } [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] 34 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/pass/skybox/interleaved.rs:75:18 [INFO] [stderr] | [INFO] [stderr] 75 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/pass/util.rs:301:23 [INFO] [stderr] | [INFO] [stderr] 301 | proj: identity.clone().into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `identity` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/pass/util.rs:308:1 [INFO] [stderr] | [INFO] [stderr] 308 | / pub(crate) fn draw_mesh( [INFO] [stderr] 309 | | encoder: &mut Encoder, [INFO] [stderr] 310 | | effect: &mut Effect, [INFO] [stderr] 311 | | skinning: bool, [INFO] [stderr] ... | [INFO] [stderr] 354 | | effect.clear(); [INFO] [stderr] 355 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/resources.rs:47:23 [INFO] [stderr] | [INFO] [stderr] 47 | pub(crate) queue: SmallVec<[Box; 2]>, [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/resources.rs:84:16 [INFO] [stderr] | [INFO] [stderr] 84 | w: w as f64, [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(w)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/resources.rs:85:16 [INFO] [stderr] | [INFO] [stderr] 85 | h: h as f64, [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(h)` [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: the function has a cyclomatic complexity of 64 [INFO] [stderr] --> src/skinning.rs:63:1 [INFO] [stderr] | [INFO] [stderr] 63 | / fn build_mesh_with_combo( [INFO] [stderr] 64 | | combo: AnimatedVertexBufferCombination, [INFO] [stderr] 65 | | renderer: &mut Renderer, [INFO] [stderr] 66 | | ) -> Result { [INFO] [stderr] ... | [INFO] [stderr] 76 | | ) [INFO] [stderr] 77 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/light.rs:185:50 [INFO] [stderr] | [INFO] [stderr] 185 | #[derive(Default, Clone, Serialize, Deserialize, PrefabData)] [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/pass/debug_lines/interleaved.rs:71:17 [INFO] [stderr] | [INFO] [stderr] 71 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 72 | | Option>, [INFO] [stderr] 73 | | ReadStorage<'a, Camera>, [INFO] [stderr] 74 | | ReadStorage<'a, GlobalTransform>, [INFO] [stderr] ... | [INFO] [stderr] 77 | | Read<'a, DebugLinesParams>, [INFO] [stderr] 78 | | ); [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: this lifetime isn't used in the function definition [INFO] [stderr] --> src/pass/debug_lines/interleaved.rs:101:18 [INFO] [stderr] | [INFO] [stderr] 101 | fn apply<'a, 'b: 'a>( [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: length comparison to zero [INFO] [stderr] --> src/pass/debug_lines/interleaved.rs:123:12 [INFO] [stderr] | [INFO] [stderr] 123 | if debug_lines.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `debug_lines.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/pass/flat/interleaved.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 76 | | Option>, [INFO] [stderr] 77 | | ReadStorage<'a, Camera>, [INFO] [stderr] 78 | | Read<'a, AssetStorage>, [INFO] [stderr] ... | [INFO] [stderr] 86 | | ReadStorage<'a, GlobalTransform>, [INFO] [stderr] 87 | | ); [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/pass/flat/interleaved.rs:112:18 [INFO] [stderr] | [INFO] [stderr] 112 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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/pass/flat/separate.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 85 | | Option>, [INFO] [stderr] 86 | | ReadStorage<'a, Camera>, [INFO] [stderr] 87 | | Read<'a, AssetStorage>, [INFO] [stderr] ... | [INFO] [stderr] 96 | | ReadStorage<'a, JointTransforms>, [INFO] [stderr] 97 | | ); [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/pass/flat/separate.rs:135:18 [INFO] [stderr] | [INFO] [stderr] 135 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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/pass/flat2d/interleaved.rs:67:17 [INFO] [stderr] | [INFO] [stderr] 67 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 68 | | Option>, [INFO] [stderr] 69 | | ReadStorage<'a, Camera>, [INFO] [stderr] 70 | | Read<'a, AssetStorage>, [INFO] [stderr] ... | [INFO] [stderr] 79 | | ReadStorage<'a, MeshHandle>, [INFO] [stderr] 80 | | ); [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/pass/flat2d/interleaved.rs:104:18 [INFO] [stderr] | [INFO] [stderr] 104 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/sprite_visibility.rs:57:23 [INFO] [stderr] | [INFO] [stderr] 57 | type SystemData = ( [INFO] [stderr] | _______________________^ [INFO] [stderr] 58 | | Entities<'a>, [INFO] [stderr] 59 | | Write<'a, SpriteVisibility>, [INFO] [stderr] 60 | | ReadStorage<'a, Hidden>, [INFO] [stderr] ... | [INFO] [stderr] 65 | | ReadStorage<'a, GlobalTransform>, [INFO] [stderr] 66 | | ); [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: identical conversion [INFO] [stderr] --> src/sprite_visibility.rs:80:22 [INFO] [stderr] | [INFO] [stderr] 80 | .map(|c| c.0.column(2).xyz().into()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `c.0.column(2).xyz()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/pass/flat2d/interleaved.rs:297:22 [INFO] [stderr] | [INFO] [stderr] 297 | flipped: flipped.map(|it| it.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `flipped.cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/pass/flat2d/interleaved.rs:340:22 [INFO] [stderr] | [INFO] [stderr] 340 | flipped: flipped.map(|it| it.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `flipped.cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/pass/pbm/interleaved.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 79 | | Option>, [INFO] [stderr] 80 | | ReadStorage<'a, Camera>, [INFO] [stderr] 81 | | Read<'a, AmbientColor>, [INFO] [stderr] ... | [INFO] [stderr] 91 | | ReadStorage<'a, Light>, [INFO] [stderr] 92 | | ); [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/pass/pbm/interleaved.rs:112:18 [INFO] [stderr] | [INFO] [stderr] 112 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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/pass/pbm/separate.rs:80:17 [INFO] [stderr] | [INFO] [stderr] 80 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 81 | | Option>, [INFO] [stderr] 82 | | ReadStorage<'a, Camera>, [INFO] [stderr] 83 | | Read<'a, AmbientColor>, [INFO] [stderr] ... | [INFO] [stderr] 94 | | ReadStorage<'a, JointTransforms>, [INFO] [stderr] 95 | | ); [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/pass/pbm/separate.rs:139:18 [INFO] [stderr] | [INFO] [stderr] 139 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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/pass/shaded/interleaved.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 79 | | Option>, [INFO] [stderr] 80 | | ReadStorage<'a, Camera>, [INFO] [stderr] 81 | | Read<'a, AmbientColor>, [INFO] [stderr] ... | [INFO] [stderr] 91 | | ReadStorage<'a, Light>, [INFO] [stderr] 92 | | ); [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/pass/shaded/interleaved.rs:112:18 [INFO] [stderr] | [INFO] [stderr] 112 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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/pass/shaded/separate.rs:79:17 [INFO] [stderr] | [INFO] [stderr] 79 | type Data = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 80 | | Option>, [INFO] [stderr] 81 | | ReadStorage<'a, Camera>, [INFO] [stderr] 82 | | Read<'a, AmbientColor>, [INFO] [stderr] ... | [INFO] [stderr] 93 | | ReadStorage<'a, JointTransforms>, [INFO] [stderr] 94 | | ); [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/pass/shaded/separate.rs:135:18 [INFO] [stderr] | [INFO] [stderr] 135 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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: you should consider deriving a `Default` implementation for `pass::skybox::interleaved::DrawSkybox` [INFO] [stderr] --> src/pass/skybox/interleaved.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / pub fn new() -> Self { [INFO] [stderr] 41 | | DrawSkybox { mesh: None } [INFO] [stderr] 42 | | } [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] 34 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/pass/skybox/interleaved.rs:75:18 [INFO] [stderr] | [INFO] [stderr] 75 | fn apply<'a, 'b: 'a>( [INFO] [stderr] | ^^ [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/pass/util.rs:301:23 [INFO] [stderr] | [INFO] [stderr] 301 | proj: identity.clone().into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `identity` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/pass/util.rs:308:1 [INFO] [stderr] | [INFO] [stderr] 308 | / pub(crate) fn draw_mesh( [INFO] [stderr] 309 | | encoder: &mut Encoder, [INFO] [stderr] 310 | | effect: &mut Effect, [INFO] [stderr] 311 | | skinning: bool, [INFO] [stderr] ... | [INFO] [stderr] 354 | | effect.clear(); [INFO] [stderr] 355 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/resources.rs:47:23 [INFO] [stderr] | [INFO] [stderr] 47 | pub(crate) queue: SmallVec<[Box; 2]>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `visibility::VisibilitySortingSystem` [INFO] [stderr] --> src/visibility.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | / pub fn new() -> Self { [INFO] [stderr] 49 | | VisibilitySortingSystem { [INFO] [stderr] 50 | | centroids: Vec::default(), [INFO] [stderr] 51 | | transparent: Vec::default(), [INFO] [stderr] 52 | | } [INFO] [stderr] 53 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 32 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/visibility.rs:57:23 [INFO] [stderr] | [INFO] [stderr] 57 | type SystemData = ( [INFO] [stderr] | _______________________^ [INFO] [stderr] 58 | | Entities<'a>, [INFO] [stderr] 59 | | Write<'a, Visibility>, [INFO] [stderr] 60 | | ReadStorage<'a, Hidden>, [INFO] [stderr] ... | [INFO] [stderr] 65 | | ReadStorage<'a, GlobalTransform>, [INFO] [stderr] 66 | | ); [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] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/resources.rs:84:16 [INFO] [stderr] | [INFO] [stderr] 84 | w: w as f64, [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(w)` [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/resources.rs:85:16 [INFO] [stderr] | [INFO] [stderr] 85 | h: h as f64, [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(h)` [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: the function has a cyclomatic complexity of 64 [INFO] [stderr] --> src/skinning.rs:63:1 [INFO] [stderr] | [INFO] [stderr] 63 | / fn build_mesh_with_combo( [INFO] [stderr] 64 | | combo: AnimatedVertexBufferCombination, [INFO] [stderr] 65 | | renderer: &mut Renderer, [INFO] [stderr] 66 | | ) -> Result { [INFO] [stderr] ... | [INFO] [stderr] 76 | | ) [INFO] [stderr] 77 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/sprite_visibility.rs:57:23 [INFO] [stderr] | [INFO] [stderr] 57 | type SystemData = ( [INFO] [stderr] | _______________________^ [INFO] [stderr] 58 | | Entities<'a>, [INFO] [stderr] 59 | | Write<'a, SpriteVisibility>, [INFO] [stderr] 60 | | ReadStorage<'a, Hidden>, [INFO] [stderr] ... | [INFO] [stderr] 65 | | ReadStorage<'a, GlobalTransform>, [INFO] [stderr] 66 | | ); [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: identical conversion [INFO] [stderr] --> src/sprite_visibility.rs:80:22 [INFO] [stderr] | [INFO] [stderr] 80 | .map(|c| c.0.column(2).xyz().into()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `c.0.column(2).xyz()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `visibility::VisibilitySortingSystem` [INFO] [stderr] --> src/visibility.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | / pub fn new() -> Self { [INFO] [stderr] 49 | | VisibilitySortingSystem { [INFO] [stderr] 50 | | centroids: Vec::default(), [INFO] [stderr] 51 | | transparent: Vec::default(), [INFO] [stderr] 52 | | } [INFO] [stderr] 53 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 32 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/visibility.rs:57:23 [INFO] [stderr] | [INFO] [stderr] 57 | type SystemData = ( [INFO] [stderr] | _______________________^ [INFO] [stderr] 58 | | Entities<'a>, [INFO] [stderr] 59 | | Write<'a, Visibility>, [INFO] [stderr] 60 | | ReadStorage<'a, Hidden>, [INFO] [stderr] ... | [INFO] [stderr] 65 | | ReadStorage<'a, GlobalTransform>, [INFO] [stderr] 66 | | ); [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] Finished dev [unoptimized + debuginfo] target(s) in 3m 40s [INFO] running `"docker" "inspect" "bc2842abdae8130bb1b21b8c89098bb46e4e2cdaf3afa369e23c03c2a26a26e3"` [INFO] running `"docker" "rm" "-f" "bc2842abdae8130bb1b21b8c89098bb46e4e2cdaf3afa369e23c03c2a26a26e3"` [INFO] [stdout] bc2842abdae8130bb1b21b8c89098bb46e4e2cdaf3afa369e23c03c2a26a26e3