[INFO] crate ncollide_pipeline 0.13.1 is already in cache [INFO] extracting crate ncollide_pipeline 0.13.1 into work/ex/clippy-test-run/sources/stable/reg/ncollide_pipeline/0.13.1 [INFO] extracting crate ncollide_pipeline 0.13.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ncollide_pipeline/0.13.1 [INFO] validating manifest of ncollide_pipeline-0.13.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of ncollide_pipeline-0.13.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing ncollide_pipeline-0.13.1 [INFO] finished frobbing ncollide_pipeline-0.13.1 [INFO] frobbed toml for ncollide_pipeline-0.13.1 written to work/ex/clippy-test-run/sources/stable/reg/ncollide_pipeline/0.13.1/Cargo.toml [INFO] started frobbing ncollide_pipeline-0.13.1 [INFO] finished frobbing ncollide_pipeline-0.13.1 [INFO] frobbed toml for ncollide_pipeline-0.13.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ncollide_pipeline/0.13.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting ncollide_pipeline-0.13.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/ncollide_pipeline/0.13.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 34c2fd2229ff10ade0e6cbf69596346fe1b17681c7f93f9961a884ca290b5f80 [INFO] running `"docker" "start" "-a" "34c2fd2229ff10ade0e6cbf69596346fe1b17681c7f93f9961a884ca290b5f80"` [INFO] [stderr] Checking ncollide_math v0.9.0 [INFO] [stderr] Checking ncollide_utils v0.9.0 [INFO] [stderr] Checking ncollide_geometry v0.6.3 [INFO] [stderr] Checking ncollide_pipeline v0.13.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> broad_phase/dbvt_broad_phase.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | 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: redundant field names in struct initialization [INFO] [stderr] --> broad_phase/dbvt_broad_phase.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | margin: margin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `margin` [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] --> narrow_phase/contact_generator/support_map_support_map_contact_generator.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | simplex: simplex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `simplex` [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] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | contact: contact, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `contact` [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] --> narrow_phase/proximity_detector/support_map_support_map_proximity_detector.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | simplex: simplex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `simplex` [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] --> narrow_phase/narrow_phase.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | objects: objects, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `objects` [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] --> narrow_phase/narrow_phase.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | pairs: pairs, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pairs` [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] --> narrow_phase/narrow_phase.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | objects: objects, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `objects` [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] --> narrow_phase/narrow_phase.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | pairs: pairs, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pairs` [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] --> narrow_phase/default_narrow_phase.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | contact_dispatcher: contact_dispatcher, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_dispatcher` [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] --> narrow_phase/default_narrow_phase.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | proximity_dispatcher: proximity_dispatcher, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `proximity_dispatcher` [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] --> world/collision_object.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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] --> world/collision_object.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | proxy_handle: proxy_handle, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `proxy_handle` [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] --> world/collision_object.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | 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] --> world/collision_object.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | shape: shape, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `shape` [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] --> world/collision_object.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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] --> world/collision_object.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | query_type: query_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `query_type` [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] --> world/collision_world.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | objects: objects, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `objects` [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] --> world/collision_world.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | broad_phase: broad_phase, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `broad_phase` [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] --> world/collision_world.rs:273:13 [INFO] [stderr] | [INFO] [stderr] 273 | ray: ray, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ray` [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] --> world/collision_world.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | groups: groups, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `groups` [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] --> world/collision_world.rs:293:13 [INFO] [stderr] | [INFO] [stderr] 293 | point: point, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `point` [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] --> world/collision_world.rs:294:13 [INFO] [stderr] | [INFO] [stderr] 294 | groups: groups, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `groups` [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] --> world/collision_world.rs:313:13 [INFO] [stderr] | [INFO] [stderr] 313 | groups: groups, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `groups` [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] --> broad_phase/dbvt_broad_phase.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | 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: redundant field names in struct initialization [INFO] [stderr] --> broad_phase/dbvt_broad_phase.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | margin: margin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `margin` [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] --> narrow_phase/contact_generator/support_map_support_map_contact_generator.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | simplex: simplex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `simplex` [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] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | contact: contact, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `contact` [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] --> narrow_phase/proximity_detector/support_map_support_map_proximity_detector.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | simplex: simplex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `simplex` [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] --> narrow_phase/narrow_phase.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | objects: objects, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `objects` [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] --> narrow_phase/narrow_phase.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | pairs: pairs, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pairs` [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] --> narrow_phase/narrow_phase.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | objects: objects, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `objects` [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] --> narrow_phase/narrow_phase.rs:187:13 [INFO] [stderr] | [INFO] [stderr] 187 | pairs: pairs, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `pairs` [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] --> narrow_phase/default_narrow_phase.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | contact_dispatcher: contact_dispatcher, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `contact_dispatcher` [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] --> narrow_phase/default_narrow_phase.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | proximity_dispatcher: proximity_dispatcher, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `proximity_dispatcher` [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] --> world/collision_object.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [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] --> world/collision_object.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | proxy_handle: proxy_handle, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `proxy_handle` [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] --> world/collision_object.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | 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] --> world/collision_object.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | shape: shape, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `shape` [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] --> world/collision_object.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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] --> world/collision_object.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | query_type: query_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `query_type` [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] --> world/collision_world.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | objects: objects, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `objects` [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] --> world/collision_world.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | broad_phase: broad_phase, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `broad_phase` [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] --> world/collision_world.rs:273:13 [INFO] [stderr] | [INFO] [stderr] 273 | ray: ray, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ray` [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] --> world/collision_world.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | groups: groups, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `groups` [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] --> world/collision_world.rs:293:13 [INFO] [stderr] | [INFO] [stderr] 293 | point: point, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `point` [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] --> world/collision_world.rs:294:13 [INFO] [stderr] | [INFO] [stderr] 294 | groups: groups, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `groups` [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] --> world/collision_world.rs:313:13 [INFO] [stderr] | [INFO] [stderr] 313 | groups: groups, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `groups` [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: module has the same name as its containing module [INFO] [stderr] --> broad_phase/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub mod broad_phase; [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: module has the same name as its containing module [INFO] [stderr] --> narrow_phase/contact_generator/mod.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | pub mod contact_generator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> narrow_phase/proximity_detector/mod.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | pub mod proximity_detector; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> narrow_phase/mod.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | pub mod narrow_phase; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> narrow_phase/default_narrow_phase.rs:70:24 [INFO] [stderr] | [INFO] [stderr] 70 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 71 | | if !had_contacts { [INFO] [stderr] 72 | | contact_events.push(ContactEvent::Started(co1.handle(), co2.handle())); [INFO] [stderr] 73 | | } [INFO] [stderr] 74 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 70 | } else if !had_contacts { [INFO] [stderr] 71 | contact_events.push(ContactEvent::Started(co1.handle(), co2.handle())); [INFO] [stderr] 72 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> broad_phase/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub mod broad_phase; [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: module has the same name as its containing module [INFO] [stderr] --> narrow_phase/contact_generator/mod.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | pub mod contact_generator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> narrow_phase/proximity_detector/mod.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | pub mod proximity_detector; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> narrow_phase/mod.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | pub mod narrow_phase; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> narrow_phase/default_narrow_phase.rs:70:24 [INFO] [stderr] | [INFO] [stderr] 70 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 71 | | if !had_contacts { [INFO] [stderr] 72 | | contact_events.push(ContactEvent::Started(co1.handle(), co2.handle())); [INFO] [stderr] 73 | | } [INFO] [stderr] 74 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 70 | } else if !had_contacts { [INFO] [stderr] 71 | contact_events.push(ContactEvent::Started(co1.handle(), co2.handle())); [INFO] [stderr] 72 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_invalid` [INFO] [stderr] --> world/collision_object.rs:190:5 [INFO] [stderr] | [INFO] [stderr] 190 | pub(crate) fn is_invalid(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> broad_phase/broad_phase.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn is_invalid(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> broad_phase/broad_phase.rs:21:16 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn uid(&self) -> usize { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> broad_phase/broad_phase_pair_filter.rs:16:14 [INFO] [stderr] | [INFO] [stderr] 16 | filters: Vec<(String, Box>)>, [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 `broad_phase::broad_phase_pair_filter::BroadPhasePairFilters` [INFO] [stderr] --> broad_phase/broad_phase_pair_filter.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / pub fn new() -> BroadPhasePairFilters { [INFO] [stderr] 22 | | BroadPhasePairFilters { [INFO] [stderr] 23 | | filters: Vec::new(), [INFO] [stderr] 24 | | } [INFO] [stderr] 25 | | } [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] 15 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> broad_phase/dbvt_broad_phase.rs:102:31 [INFO] [stderr] | [INFO] [stderr] 102 | if self.purge_all || (self.leaves_to_update.len() != 0 && self.pairs.len() != 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.leaves_to_update.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: length comparison to zero [INFO] [stderr] --> broad_phase/dbvt_broad_phase.rs:102:67 [INFO] [stderr] | [INFO] [stderr] 102 | if self.purge_all || (self.leaves_to_update.len() != 0 && self.pairs.len() != 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.pairs.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> broad_phase/dbvt_broad_phase.rs:294:26 [INFO] [stderr] | [INFO] [stderr] 294 | for (pair, _) in &mut self.pairs { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 294 | for pair in self.pairs.keys() { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `narrow_phase::contact_generator::default_contact_dispatcher::DefaultContactDispatcher` [INFO] [stderr] --> narrow_phase/contact_generator/default_contact_dispatcher.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | / pub fn new() -> DefaultContactDispatcher { [INFO] [stderr] 20 | | DefaultContactDispatcher { [INFO] [stderr] 21 | | _point_type: PhantomData, [INFO] [stderr] 22 | | _matrix_type: PhantomData, [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 12 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `narrow_phase::contact_generator::ball_ball_contact_generator::BallBallContactGenerator` [INFO] [stderr] --> narrow_phase/contact_generator/ball_ball_contact_generator.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | / pub fn new() -> BallBallContactGenerator { [INFO] [stderr] 29 | | BallBallContactGenerator { [INFO] [stderr] 30 | | contact: None, [INFO] [stderr] 31 | | mat_type: PhantomData, [INFO] [stderr] 32 | | } [INFO] [stderr] 33 | | } [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] 11 | #[derive(Default)] [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] --> narrow_phase/contact_generator/ball_ball_contact_generator.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | / match self.contact { [INFO] [stderr] 72 | | Some(ref c) => out_contacts.push(c.clone()), [INFO] [stderr] 73 | | None => (), [INFO] [stderr] 74 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(ref c) = self.contact { out_contacts.push(c.clone()) }` [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 should consider deriving a `Default` implementation for `narrow_phase::contact_generator::plane_support_map_contact_generator::PlaneSupportMapContactGenerator` [INFO] [stderr] --> narrow_phase/contact_generator/plane_support_map_contact_generator.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> PlaneSupportMapContactGenerator { [INFO] [stderr] 23 | | PlaneSupportMapContactGenerator { [INFO] [stderr] 24 | | contact: None, [INFO] [stderr] 25 | | mat_type: PhantomData, [INFO] [stderr] 26 | | } [INFO] [stderr] 27 | | } [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] 13 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `narrow_phase::contact_generator::plane_support_map_contact_generator::SupportMapPlaneContactGenerator` [INFO] [stderr] --> narrow_phase/contact_generator/plane_support_map_contact_generator.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn new() -> SupportMapPlaneContactGenerator { [INFO] [stderr] 45 | | SupportMapPlaneContactGenerator { [INFO] [stderr] 46 | | contact: None, [INFO] [stderr] 47 | | mat_type: PhantomData, [INFO] [stderr] 48 | | } [INFO] [stderr] 49 | | } [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] 35 | #[derive(Default)] [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] --> narrow_phase/contact_generator/plane_support_map_contact_generator.rs:82:9 [INFO] [stderr] | [INFO] [stderr] 82 | / match self.contact { [INFO] [stderr] 83 | | Some(ref c) => out_contacts.push(c.clone()), [INFO] [stderr] 84 | | None => (), [INFO] [stderr] 85 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(ref c) = self.contact { out_contacts.push(c.clone()) }` [INFO] [stderr] | [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> narrow_phase/contact_generator/plane_support_map_contact_generator.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | / match self.contact { [INFO] [stderr] 120 | | Some(ref c) => out_contacts.push(c.clone()), [INFO] [stderr] 121 | | None => (), [INFO] [stderr] 122 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(ref c) = self.contact { out_contacts.push(c.clone()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> narrow_phase/contact_generator/support_map_support_map_contact_generator.rs:63:66 [INFO] [stderr] | [INFO] [stderr] 63 | GJKResult::NoIntersection(ref separator) => Some(separator.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*separator` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> narrow_phase/contact_generator/support_map_support_map_contact_generator.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | / match self.contact { [INFO] [stderr] 115 | | GJKResult::Projection(ref c) => out_contacts.push(c.clone()), [INFO] [stderr] 116 | | _ => (), [INFO] [stderr] 117 | | } [INFO] [stderr] | |_________^ help: try this: `if let GJKResult::Projection(ref c) = self.contact { out_contacts.push(c.clone()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:81:10 [INFO] [stderr] | [INFO] [stderr] 81 | ) -> Option>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_option)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:87:26 [INFO] [stderr] | [INFO] [stderr] 87 | let res = if self.collector.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.collector.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:162:17 [INFO] [stderr] | [INFO] [stderr] 162 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:228:20 [INFO] [stderr] | [INFO] [stderr] 228 | let mut mean = to_add_center.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `to_add_center` [INFO] [stderr] | [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: the loop variable `i` is used to index `pts` [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:230:14 [INFO] [stderr] | [INFO] [stderr] 230 | for i in 0usize..pts.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 230 | for (i, ) in pts.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:232:13 [INFO] [stderr] | [INFO] [stderr] 232 | mean = mean + pts[i].center.coordinates() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mean += pts[i].center.coordinates()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:237:5 [INFO] [stderr] | [INFO] [stderr] 237 | mean = mean * na::convert(divisor); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mean *= na::convert(divisor)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `pts` [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:242:14 [INFO] [stderr] | [INFO] [stderr] 242 | for i in 0usize..pts.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 242 | for (i, ) in pts.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:244:13 [INFO] [stderr] | [INFO] [stderr] 244 | sum = sum + na::norm_squared(&(pts[i].center - mean)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sum += na::norm_squared(&(pts[i].center - mean))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `narrow_phase::contact_generator::composite_shape_shape_contact_generator::CompositeShapeShapeContactGenerator` [INFO] [stderr] --> narrow_phase/contact_generator/composite_shape_shape_contact_generator.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new() -> CompositeShapeShapeContactGenerator { [INFO] [stderr] 21 | | CompositeShapeShapeContactGenerator { [INFO] [stderr] 22 | | sub_detectors: HashMap::new_with_capacity(5, UintTWHash::new()), [INFO] [stderr] 23 | | to_delete: Vec::new(), [INFO] [stderr] 24 | | interferences: Vec::new(), [INFO] [stderr] 25 | | } [INFO] [stderr] 26 | | } [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] 18 | impl Default for narrow_phase::contact_generator::composite_shape_shape_contact_generator::CompositeShapeShapeContactGenerator { [INFO] [stderr] 19 | fn default() -> Self { [INFO] [stderr] 20 | Self::new() [INFO] [stderr] 21 | } [INFO] [stderr] 22 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> narrow_phase/contact_generator/composite_shape_shape_contact_generator.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / fn do_update( [INFO] [stderr] 31 | | &mut self, [INFO] [stderr] 32 | | dispatcher: &ContactDispatcher, [INFO] [stderr] 33 | | m1: &M, [INFO] [stderr] ... | [INFO] [stderr] 100 | | self.to_delete.clear(); [INFO] [stderr] 101 | | } [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: you should consider adding a `Default` implementation for `narrow_phase::contact_generator::composite_shape_shape_contact_generator::ShapeCompositeShapeContactGenerator` [INFO] [stderr] --> narrow_phase/contact_generator/composite_shape_shape_contact_generator.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / pub fn new() -> ShapeCompositeShapeContactGenerator { [INFO] [stderr] 112 | | ShapeCompositeShapeContactGenerator { [INFO] [stderr] 113 | | sub_detector: CompositeShapeShapeContactGenerator::new(), [INFO] [stderr] 114 | | } [INFO] [stderr] 115 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 109 | impl Default for narrow_phase::contact_generator::composite_shape_shape_contact_generator::ShapeCompositeShapeContactGenerator { [INFO] [stderr] 110 | fn default() -> Self { [INFO] [stderr] 111 | Self::new() [INFO] [stderr] 112 | } [INFO] [stderr] 113 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> narrow_phase/contact_generator/composite_shape_shape_contact_generator.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | res = res + detector.value.num_contacts() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += detector.value.num_contacts()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `narrow_phase::proximity_detector::ball_ball_proximity_detector::BallBallProximityDetector` [INFO] [stderr] --> narrow_phase/proximity_detector/ball_ball_proximity_detector.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / pub fn new() -> BallBallProximityDetector { [INFO] [stderr] 31 | | BallBallProximityDetector { [INFO] [stderr] 32 | | proximity: Proximity::Disjoint, [INFO] [stderr] 33 | | pt_type: PhantomData, [INFO] [stderr] 34 | | mat_type: PhantomData, [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 27 | impl Default for narrow_phase::proximity_detector::ball_ball_proximity_detector::BallBallProximityDetector { [INFO] [stderr] 28 | fn default() -> Self { [INFO] [stderr] 29 | Self::new() [INFO] [stderr] 30 | } [INFO] [stderr] 31 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `narrow_phase::proximity_detector::plane_support_map_proximity_detector::PlaneSupportMapProximityDetector` [INFO] [stderr] --> narrow_phase/proximity_detector/plane_support_map_proximity_detector.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new() -> PlaneSupportMapProximityDetector { [INFO] [stderr] 21 | | PlaneSupportMapProximityDetector { [INFO] [stderr] 22 | | proximity: Proximity::Disjoint, [INFO] [stderr] 23 | | pt_type: PhantomData, [INFO] [stderr] 24 | | mat_type: PhantomData, [INFO] [stderr] 25 | | } [INFO] [stderr] 26 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 16 | impl Default for narrow_phase::proximity_detector::plane_support_map_proximity_detector::PlaneSupportMapProximityDetector { [INFO] [stderr] 17 | fn default() -> Self { [INFO] [stderr] 18 | Self::new() [INFO] [stderr] 19 | } [INFO] [stderr] 20 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `narrow_phase::proximity_detector::plane_support_map_proximity_detector::SupportMapPlaneProximityDetector` [INFO] [stderr] --> narrow_phase/proximity_detector/plane_support_map_proximity_detector.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | / pub fn new() -> SupportMapPlaneProximityDetector { [INFO] [stderr] 40 | | SupportMapPlaneProximityDetector { [INFO] [stderr] 41 | | subdetector: PlaneSupportMapProximityDetector::new(), [INFO] [stderr] 42 | | } [INFO] [stderr] 43 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 35 | impl Default for narrow_phase::proximity_detector::plane_support_map_proximity_detector::SupportMapPlaneProximityDetector { [INFO] [stderr] 36 | fn default() -> Self { [INFO] [stderr] 37 | Self::new() [INFO] [stderr] 38 | } [INFO] [stderr] 39 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `narrow_phase::proximity_detector::composite_shape_shape_proximity_detector::CompositeShapeShapeProximityDetector` [INFO] [stderr] --> narrow_phase/proximity_detector/composite_shape_shape_proximity_detector.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> CompositeShapeShapeProximityDetector { [INFO] [stderr] 23 | | CompositeShapeShapeProximityDetector { [INFO] [stderr] 24 | | proximity: Proximity::Disjoint, [INFO] [stderr] 25 | | sub_detectors: HashMap::new_with_capacity(5, UintTWHash::new()), [INFO] [stderr] ... | [INFO] [stderr] 29 | | } [INFO] [stderr] 30 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 20 | impl Default for narrow_phase::proximity_detector::composite_shape_shape_proximity_detector::CompositeShapeShapeProximityDetector { [INFO] [stderr] 21 | fn default() -> Self { [INFO] [stderr] 22 | Self::new() [INFO] [stderr] 23 | } [INFO] [stderr] 24 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `narrow_phase::proximity_detector::composite_shape_shape_proximity_detector::ShapeCompositeShapeProximityDetector` [INFO] [stderr] --> narrow_phase/proximity_detector/composite_shape_shape_proximity_detector.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | / pub fn new() -> ShapeCompositeShapeProximityDetector { [INFO] [stderr] 153 | | ShapeCompositeShapeProximityDetector { [INFO] [stderr] 154 | | sub_detector: CompositeShapeShapeProximityDetector::new(), [INFO] [stderr] 155 | | } [INFO] [stderr] 156 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 150 | impl Default for narrow_phase::proximity_detector::composite_shape_shape_proximity_detector::ShapeCompositeShapeProximityDetector { [INFO] [stderr] 151 | fn default() -> Self { [INFO] [stderr] 152 | Self::new() [INFO] [stderr] 153 | } [INFO] [stderr] 154 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `narrow_phase::proximity_detector::default_proximity_dispatcher::DefaultProximityDispatcher` [INFO] [stderr] --> narrow_phase/proximity_detector/default_proximity_dispatcher.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / pub fn new() -> DefaultProximityDispatcher { [INFO] [stderr] 22 | | DefaultProximityDispatcher { [INFO] [stderr] 23 | | _point_type: PhantomData, [INFO] [stderr] 24 | | _matrix_type: PhantomData, [INFO] [stderr] 25 | | } [INFO] [stderr] 26 | | } [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] 14 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> narrow_phase/narrow_phase.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | type Item = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 97 | | &'a CollisionObject, [INFO] [stderr] 98 | | &'a CollisionObject, [INFO] [stderr] 99 | | &'a ContactAlgorithm, [INFO] [stderr] 100 | | ); [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> narrow_phase/narrow_phase.rs:127:17 [INFO] [stderr] | [INFO] [stderr] 127 | type Item = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 128 | | &'a CollisionObject, [INFO] [stderr] 129 | | &'a CollisionObject, [INFO] [stderr] 130 | | Contact

, [INFO] [stderr] 131 | | ); [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: manual implementation of an assign operation [INFO] [stderr] --> narrow_phase/narrow_phase.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | self.curr_contact = self.curr_contact + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.curr_contact += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> narrow_phase/narrow_phase.rs:193:17 [INFO] [stderr] | [INFO] [stderr] 193 | type Item = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 194 | | &'a CollisionObject, [INFO] [stderr] 195 | | &'a CollisionObject, [INFO] [stderr] 196 | | &'a ProximityAlgorithm, [INFO] [stderr] 197 | | ); [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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> world/collision_object.rs:190:30 [INFO] [stderr] | [INFO] [stderr] 190 | pub(crate) fn is_invalid(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> world/collision_object.rs:196:16 [INFO] [stderr] | [INFO] [stderr] 196 | pub fn uid(&self) -> usize { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `world::collision_object::CollisionObjectSlab` [INFO] [stderr] --> world/collision_object.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | / pub fn new() -> CollisionObjectSlab { [INFO] [stderr] 209 | | CollisionObjectSlab { [INFO] [stderr] 210 | | objects: Slab::new(), [INFO] [stderr] 211 | | } [INFO] [stderr] 212 | | } [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] 202 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_invalid` [INFO] [stderr] --> world/collision_object.rs:190:5 [INFO] [stderr] | [INFO] [stderr] 190 | pub(crate) fn is_invalid(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `world::collision_groups::CollisionGroups` [INFO] [stderr] --> world/collision_groups.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | / pub fn new() -> CollisionGroups { [INFO] [stderr] 53 | | CollisionGroups { [INFO] [stderr] 54 | | membership: ALL_GROUPS, [INFO] [stderr] 55 | | whitelist: ALL_GROUPS, [INFO] [stderr] 56 | | blacklist: NO_GROUP, [INFO] [stderr] 57 | | } [INFO] [stderr] 58 | | } [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] 42 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> world/collision_groups.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | *mask = *mask | (1 << group_id) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*mask |= (1 << group_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> broad_phase/broad_phase.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn is_invalid(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> broad_phase/broad_phase.rs:21:16 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn uid(&self) -> usize { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> world/collision_groups.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | *mask = *mask & !(1 << group_id) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*mask &= !(1 << group_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> broad_phase/broad_phase_pair_filter.rs:16:14 [INFO] [stderr] | [INFO] [stderr] 16 | filters: Vec<(String, Box>)>, [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 `broad_phase::broad_phase_pair_filter::BroadPhasePairFilters` [INFO] [stderr] --> broad_phase/broad_phase_pair_filter.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / pub fn new() -> BroadPhasePairFilters { [INFO] [stderr] 22 | | BroadPhasePairFilters { [INFO] [stderr] 23 | | filters: Vec::new(), [INFO] [stderr] 24 | | } [INFO] [stderr] 25 | | } [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] 15 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> world/collision_groups.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | self.whitelist = self.whitelist | SELF_COLLISION; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.whitelist |= SELF_COLLISION` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> world/collision_groups.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | self.whitelist = self.whitelist & !SELF_COLLISION; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.whitelist &= !SELF_COLLISION` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `world::collision_groups::CollisionGroupsPairFilter` [INFO] [stderr] --> world/collision_groups.rs:212:5 [INFO] [stderr] | [INFO] [stderr] 212 | / pub fn new() -> CollisionGroupsPairFilter { [INFO] [stderr] 213 | | CollisionGroupsPairFilter [INFO] [stderr] 214 | | } [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] 207 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> broad_phase/dbvt_broad_phase.rs:102:31 [INFO] [stderr] | [INFO] [stderr] 102 | if self.purge_all || (self.leaves_to_update.len() != 0 && self.pairs.len() != 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.leaves_to_update.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: length comparison to zero [INFO] [stderr] --> broad_phase/dbvt_broad_phase.rs:102:67 [INFO] [stderr] | [INFO] [stderr] 102 | if self.purge_all || (self.leaves_to_update.len() != 0 && self.pairs.len() != 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.pairs.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> world/collision_world.rs:201:9 [INFO] [stderr] | [INFO] [stderr] 201 | self.timestamp = self.timestamp + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.timestamp += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> broad_phase/dbvt_broad_phase.rs:294:26 [INFO] [stderr] | [INFO] [stderr] 294 | for (pair, _) in &mut self.pairs { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 294 | for pair in self.pairs.keys() { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `narrow_phase::contact_generator::default_contact_dispatcher::DefaultContactDispatcher` [INFO] [stderr] --> narrow_phase/contact_generator/default_contact_dispatcher.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | / pub fn new() -> DefaultContactDispatcher { [INFO] [stderr] 20 | | DefaultContactDispatcher { [INFO] [stderr] 21 | | _point_type: PhantomData, [INFO] [stderr] 22 | | _matrix_type: PhantomData, [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 12 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `events::EventPool` [INFO] [stderr] --> events/mod.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> EventPool { [INFO] [stderr] 23 | | EventPool { events: Vec::new() } [INFO] [stderr] 24 | | } [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] 11 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> events/mod.rs:55:24 [INFO] [stderr] | [INFO] [stderr] 55 | (&self.events).into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `narrow_phase::contact_generator::ball_ball_contact_generator::BallBallContactGenerator` [INFO] [stderr] --> narrow_phase/contact_generator/ball_ball_contact_generator.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | / pub fn new() -> BallBallContactGenerator { [INFO] [stderr] 29 | | BallBallContactGenerator { [INFO] [stderr] 30 | | contact: None, [INFO] [stderr] 31 | | mat_type: PhantomData, [INFO] [stderr] 32 | | } [INFO] [stderr] 33 | | } [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] 11 | #[derive(Default)] [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] --> narrow_phase/contact_generator/ball_ball_contact_generator.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | / match self.contact { [INFO] [stderr] 72 | | Some(ref c) => out_contacts.push(c.clone()), [INFO] [stderr] 73 | | None => (), [INFO] [stderr] 74 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(ref c) = self.contact { out_contacts.push(c.clone()) }` [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 should consider deriving a `Default` implementation for `narrow_phase::contact_generator::plane_support_map_contact_generator::PlaneSupportMapContactGenerator` [INFO] [stderr] --> narrow_phase/contact_generator/plane_support_map_contact_generator.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> PlaneSupportMapContactGenerator { [INFO] [stderr] 23 | | PlaneSupportMapContactGenerator { [INFO] [stderr] 24 | | contact: None, [INFO] [stderr] 25 | | mat_type: PhantomData, [INFO] [stderr] 26 | | } [INFO] [stderr] 27 | | } [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] 13 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `narrow_phase::contact_generator::plane_support_map_contact_generator::SupportMapPlaneContactGenerator` [INFO] [stderr] --> narrow_phase/contact_generator/plane_support_map_contact_generator.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn new() -> SupportMapPlaneContactGenerator { [INFO] [stderr] 45 | | SupportMapPlaneContactGenerator { [INFO] [stderr] 46 | | contact: None, [INFO] [stderr] 47 | | mat_type: PhantomData, [INFO] [stderr] 48 | | } [INFO] [stderr] 49 | | } [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] 35 | #[derive(Default)] [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] --> narrow_phase/contact_generator/plane_support_map_contact_generator.rs:82:9 [INFO] [stderr] | [INFO] [stderr] 82 | / match self.contact { [INFO] [stderr] 83 | | Some(ref c) => out_contacts.push(c.clone()), [INFO] [stderr] 84 | | None => (), [INFO] [stderr] 85 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(ref c) = self.contact { out_contacts.push(c.clone()) }` [INFO] [stderr] | [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> narrow_phase/contact_generator/plane_support_map_contact_generator.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | / match self.contact { [INFO] [stderr] 120 | | Some(ref c) => out_contacts.push(c.clone()), [INFO] [stderr] 121 | | None => (), [INFO] [stderr] 122 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(ref c) = self.contact { out_contacts.push(c.clone()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> narrow_phase/contact_generator/support_map_support_map_contact_generator.rs:63:66 [INFO] [stderr] | [INFO] [stderr] 63 | GJKResult::NoIntersection(ref separator) => Some(separator.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*separator` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> narrow_phase/contact_generator/support_map_support_map_contact_generator.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | / match self.contact { [INFO] [stderr] 115 | | GJKResult::Projection(ref c) => out_contacts.push(c.clone()), [INFO] [stderr] 116 | | _ => (), [INFO] [stderr] 117 | | } [INFO] [stderr] | |_________^ help: try this: `if let GJKResult::Projection(ref c) = self.contact { out_contacts.push(c.clone()) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:81:10 [INFO] [stderr] | [INFO] [stderr] 81 | ) -> Option>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_option)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:87:26 [INFO] [stderr] | [INFO] [stderr] 87 | let res = if self.collector.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.collector.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:162:17 [INFO] [stderr] | [INFO] [stderr] 162 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:228:20 [INFO] [stderr] | [INFO] [stderr] 228 | let mut mean = to_add_center.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `to_add_center` [INFO] [stderr] | [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: the loop variable `i` is used to index `pts` [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:230:14 [INFO] [stderr] | [INFO] [stderr] 230 | for i in 0usize..pts.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 230 | for (i, ) in pts.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:232:13 [INFO] [stderr] | [INFO] [stderr] 232 | mean = mean + pts[i].center.coordinates() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mean += pts[i].center.coordinates()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:237:5 [INFO] [stderr] | [INFO] [stderr] 237 | mean = mean * na::convert(divisor); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mean *= na::convert(divisor)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `pts` [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:242:14 [INFO] [stderr] | [INFO] [stderr] 242 | for i in 0usize..pts.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 242 | for (i, ) in pts.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> narrow_phase/contact_generator/incremental_contact_manifold_generator.rs:244:13 [INFO] [stderr] | [INFO] [stderr] 244 | sum = sum + na::norm_squared(&(pts[i].center - mean)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sum += na::norm_squared(&(pts[i].center - mean))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `narrow_phase::contact_generator::composite_shape_shape_contact_generator::CompositeShapeShapeContactGenerator` [INFO] [stderr] --> narrow_phase/contact_generator/composite_shape_shape_contact_generator.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new() -> CompositeShapeShapeContactGenerator { [INFO] [stderr] 21 | | CompositeShapeShapeContactGenerator { [INFO] [stderr] 22 | | sub_detectors: HashMap::new_with_capacity(5, UintTWHash::new()), [INFO] [stderr] 23 | | to_delete: Vec::new(), [INFO] [stderr] 24 | | interferences: Vec::new(), [INFO] [stderr] 25 | | } [INFO] [stderr] 26 | | } [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] 18 | impl Default for narrow_phase::contact_generator::composite_shape_shape_contact_generator::CompositeShapeShapeContactGenerator { [INFO] [stderr] 19 | fn default() -> Self { [INFO] [stderr] 20 | Self::new() [INFO] [stderr] 21 | } [INFO] [stderr] 22 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> narrow_phase/contact_generator/composite_shape_shape_contact_generator.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / fn do_update( [INFO] [stderr] 31 | | &mut self, [INFO] [stderr] 32 | | dispatcher: &ContactDispatcher, [INFO] [stderr] 33 | | m1: &M, [INFO] [stderr] ... | [INFO] [stderr] 100 | | self.to_delete.clear(); [INFO] [stderr] 101 | | } [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: you should consider adding a `Default` implementation for `narrow_phase::contact_generator::composite_shape_shape_contact_generator::ShapeCompositeShapeContactGenerator` [INFO] [stderr] --> narrow_phase/contact_generator/composite_shape_shape_contact_generator.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | / pub fn new() -> ShapeCompositeShapeContactGenerator { [INFO] [stderr] 112 | | ShapeCompositeShapeContactGenerator { [INFO] [stderr] 113 | | sub_detector: CompositeShapeShapeContactGenerator::new(), [INFO] [stderr] 114 | | } [INFO] [stderr] 115 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 109 | impl Default for narrow_phase::contact_generator::composite_shape_shape_contact_generator::ShapeCompositeShapeContactGenerator { [INFO] [stderr] 110 | fn default() -> Self { [INFO] [stderr] 111 | Self::new() [INFO] [stderr] 112 | } [INFO] [stderr] 113 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> narrow_phase/contact_generator/composite_shape_shape_contact_generator.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | res = res + detector.value.num_contacts() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += detector.value.num_contacts()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `narrow_phase::proximity_detector::ball_ball_proximity_detector::BallBallProximityDetector` [INFO] [stderr] --> narrow_phase/proximity_detector/ball_ball_proximity_detector.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / pub fn new() -> BallBallProximityDetector { [INFO] [stderr] 31 | | BallBallProximityDetector { [INFO] [stderr] 32 | | proximity: Proximity::Disjoint, [INFO] [stderr] 33 | | pt_type: PhantomData, [INFO] [stderr] 34 | | mat_type: PhantomData, [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 27 | impl Default for narrow_phase::proximity_detector::ball_ball_proximity_detector::BallBallProximityDetector { [INFO] [stderr] 28 | fn default() -> Self { [INFO] [stderr] 29 | Self::new() [INFO] [stderr] 30 | } [INFO] [stderr] 31 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `narrow_phase::proximity_detector::plane_support_map_proximity_detector::PlaneSupportMapProximityDetector` [INFO] [stderr] --> narrow_phase/proximity_detector/plane_support_map_proximity_detector.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new() -> PlaneSupportMapProximityDetector { [INFO] [stderr] 21 | | PlaneSupportMapProximityDetector { [INFO] [stderr] 22 | | proximity: Proximity::Disjoint, [INFO] [stderr] 23 | | pt_type: PhantomData, [INFO] [stderr] 24 | | mat_type: PhantomData, [INFO] [stderr] 25 | | } [INFO] [stderr] 26 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 16 | impl Default for narrow_phase::proximity_detector::plane_support_map_proximity_detector::PlaneSupportMapProximityDetector { [INFO] [stderr] 17 | fn default() -> Self { [INFO] [stderr] 18 | Self::new() [INFO] [stderr] 19 | } [INFO] [stderr] 20 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `narrow_phase::proximity_detector::plane_support_map_proximity_detector::SupportMapPlaneProximityDetector` [INFO] [stderr] --> narrow_phase/proximity_detector/plane_support_map_proximity_detector.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | / pub fn new() -> SupportMapPlaneProximityDetector { [INFO] [stderr] 40 | | SupportMapPlaneProximityDetector { [INFO] [stderr] 41 | | subdetector: PlaneSupportMapProximityDetector::new(), [INFO] [stderr] 42 | | } [INFO] [stderr] 43 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 35 | impl Default for narrow_phase::proximity_detector::plane_support_map_proximity_detector::SupportMapPlaneProximityDetector { [INFO] [stderr] 36 | fn default() -> Self { [INFO] [stderr] 37 | Self::new() [INFO] [stderr] 38 | } [INFO] [stderr] 39 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `narrow_phase::proximity_detector::composite_shape_shape_proximity_detector::CompositeShapeShapeProximityDetector` [INFO] [stderr] --> narrow_phase/proximity_detector/composite_shape_shape_proximity_detector.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> CompositeShapeShapeProximityDetector { [INFO] [stderr] 23 | | CompositeShapeShapeProximityDetector { [INFO] [stderr] 24 | | proximity: Proximity::Disjoint, [INFO] [stderr] 25 | | sub_detectors: HashMap::new_with_capacity(5, UintTWHash::new()), [INFO] [stderr] ... | [INFO] [stderr] 29 | | } [INFO] [stderr] 30 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 20 | impl Default for narrow_phase::proximity_detector::composite_shape_shape_proximity_detector::CompositeShapeShapeProximityDetector { [INFO] [stderr] 21 | fn default() -> Self { [INFO] [stderr] 22 | Self::new() [INFO] [stderr] 23 | } [INFO] [stderr] 24 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `narrow_phase::proximity_detector::composite_shape_shape_proximity_detector::ShapeCompositeShapeProximityDetector` [INFO] [stderr] --> narrow_phase/proximity_detector/composite_shape_shape_proximity_detector.rs:152:5 [INFO] [stderr] | [INFO] [stderr] 152 | / pub fn new() -> ShapeCompositeShapeProximityDetector { [INFO] [stderr] 153 | | ShapeCompositeShapeProximityDetector { [INFO] [stderr] 154 | | sub_detector: CompositeShapeShapeProximityDetector::new(), [INFO] [stderr] 155 | | } [INFO] [stderr] 156 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 150 | impl Default for narrow_phase::proximity_detector::composite_shape_shape_proximity_detector::ShapeCompositeShapeProximityDetector { [INFO] [stderr] 151 | fn default() -> Self { [INFO] [stderr] 152 | Self::new() [INFO] [stderr] 153 | } [INFO] [stderr] 154 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `narrow_phase::proximity_detector::default_proximity_dispatcher::DefaultProximityDispatcher` [INFO] [stderr] --> narrow_phase/proximity_detector/default_proximity_dispatcher.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / pub fn new() -> DefaultProximityDispatcher { [INFO] [stderr] 22 | | DefaultProximityDispatcher { [INFO] [stderr] 23 | | _point_type: PhantomData, [INFO] [stderr] 24 | | _matrix_type: PhantomData, [INFO] [stderr] 25 | | } [INFO] [stderr] 26 | | } [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] 14 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> narrow_phase/narrow_phase.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | type Item = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 97 | | &'a CollisionObject, [INFO] [stderr] 98 | | &'a CollisionObject, [INFO] [stderr] 99 | | &'a ContactAlgorithm, [INFO] [stderr] 100 | | ); [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> narrow_phase/narrow_phase.rs:127:17 [INFO] [stderr] | [INFO] [stderr] 127 | type Item = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 128 | | &'a CollisionObject, [INFO] [stderr] 129 | | &'a CollisionObject, [INFO] [stderr] 130 | | Contact

, [INFO] [stderr] 131 | | ); [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: manual implementation of an assign operation [INFO] [stderr] --> narrow_phase/narrow_phase.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | self.curr_contact = self.curr_contact + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.curr_contact += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> narrow_phase/narrow_phase.rs:193:17 [INFO] [stderr] | [INFO] [stderr] 193 | type Item = ( [INFO] [stderr] | _________________^ [INFO] [stderr] 194 | | &'a CollisionObject, [INFO] [stderr] 195 | | &'a CollisionObject, [INFO] [stderr] 196 | | &'a ProximityAlgorithm, [INFO] [stderr] 197 | | ); [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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> world/collision_object.rs:190:30 [INFO] [stderr] | [INFO] [stderr] 190 | pub(crate) fn is_invalid(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> world/collision_object.rs:196:16 [INFO] [stderr] | [INFO] [stderr] 196 | pub fn uid(&self) -> usize { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `world::collision_object::CollisionObjectSlab` [INFO] [stderr] --> world/collision_object.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | / pub fn new() -> CollisionObjectSlab { [INFO] [stderr] 209 | | CollisionObjectSlab { [INFO] [stderr] 210 | | objects: Slab::new(), [INFO] [stderr] 211 | | } [INFO] [stderr] 212 | | } [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] 202 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `world::collision_groups::CollisionGroups` [INFO] [stderr] --> world/collision_groups.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | / pub fn new() -> CollisionGroups { [INFO] [stderr] 53 | | CollisionGroups { [INFO] [stderr] 54 | | membership: ALL_GROUPS, [INFO] [stderr] 55 | | whitelist: ALL_GROUPS, [INFO] [stderr] 56 | | blacklist: NO_GROUP, [INFO] [stderr] 57 | | } [INFO] [stderr] 58 | | } [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] 42 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> world/collision_groups.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | *mask = *mask | (1 << group_id) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*mask |= (1 << group_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> world/collision_groups.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | *mask = *mask & !(1 << group_id) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `*mask &= !(1 << group_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> world/collision_groups.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | self.whitelist = self.whitelist | SELF_COLLISION; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.whitelist |= SELF_COLLISION` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> world/collision_groups.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | self.whitelist = self.whitelist & !SELF_COLLISION; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.whitelist &= !SELF_COLLISION` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `world::collision_groups::CollisionGroupsPairFilter` [INFO] [stderr] --> world/collision_groups.rs:212:5 [INFO] [stderr] | [INFO] [stderr] 212 | / pub fn new() -> CollisionGroupsPairFilter { [INFO] [stderr] 213 | | CollisionGroupsPairFilter [INFO] [stderr] 214 | | } [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] 207 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> world/collision_world.rs:201:9 [INFO] [stderr] | [INFO] [stderr] 201 | self.timestamp = self.timestamp + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.timestamp += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `events::EventPool` [INFO] [stderr] --> events/mod.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> EventPool { [INFO] [stderr] 23 | | EventPool { events: Vec::new() } [INFO] [stderr] 24 | | } [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] 11 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> events/mod.rs:55:24 [INFO] [stderr] | [INFO] [stderr] 55 | (&self.events).into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 21.33s [INFO] running `"docker" "inspect" "34c2fd2229ff10ade0e6cbf69596346fe1b17681c7f93f9961a884ca290b5f80"` [INFO] running `"docker" "rm" "-f" "34c2fd2229ff10ade0e6cbf69596346fe1b17681c7f93f9961a884ca290b5f80"` [INFO] [stdout] 34c2fd2229ff10ade0e6cbf69596346fe1b17681c7f93f9961a884ca290b5f80