[INFO] crate ncollide2d 0.17.3 is already in cache [INFO] extracting crate ncollide2d 0.17.3 into work/ex/clippy-test-run/sources/stable/reg/ncollide2d/0.17.3 [INFO] extracting crate ncollide2d 0.17.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ncollide2d/0.17.3 [INFO] validating manifest of ncollide2d-0.17.3 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 ncollide2d-0.17.3 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 ncollide2d-0.17.3 [INFO] finished frobbing ncollide2d-0.17.3 [INFO] frobbed toml for ncollide2d-0.17.3 written to work/ex/clippy-test-run/sources/stable/reg/ncollide2d/0.17.3/Cargo.toml [INFO] started frobbing ncollide2d-0.17.3 [INFO] finished frobbing ncollide2d-0.17.3 [INFO] frobbed toml for ncollide2d-0.17.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ncollide2d/0.17.3/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 ncollide2d-0.17.3 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/ncollide2d/0.17.3:/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] d17133f4717b6a8543079817957e5793ea05ace8c98d0acbc4d5e26fb259eb27 [INFO] running `"docker" "start" "-a" "d17133f4717b6a8543079817957e5793ea05ace8c98d0acbc4d5e26fb259eb27"` [INFO] [stderr] Checking approx v0.3.1 [INFO] [stderr] Checking alga v0.7.2 [INFO] [stderr] Checking nalgebra v0.16.13 [INFO] [stderr] Checking ncollide2d v0.17.3 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bounding_volume/bounding_volume_bvt.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | bv: bv, [INFO] [stderr] | ^^^^^^ help: replace it with: `bv` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bounding_volume/aabb.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | mins: mins, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mins` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bounding_volume/aabb.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | maxs: maxs, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `maxs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/partitioning/dbvt.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | bounding_volume: bounding_volume, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bounding_volume` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/partitioning/dbvt.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | 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] --> src/partitioning/dbvt.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bounding_volume: bounding_volume, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bounding_volume` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/partitioning/dbvt.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | left: left, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `left` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/partitioning/dbvt.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | right: right, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `right` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/partitioning/dbvt.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | parent: parent, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `parent` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bounding_volume/bounding_volume_bvt.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | bv: bv, [INFO] [stderr] | ^^^^^^ help: replace it with: `bv` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bounding_volume/aabb.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | mins: mins, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mins` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/bounding_volume/aabb.rs:38:13 [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/partitioning/bvt_visitor.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | bv: bv, [INFO] [stderr] | ^^^^^^ help: replace it with: `bv` [INFO] [stderr] | [INFO] [stderr] 38 | maxs: maxs, [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `maxs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pipeline/broad_phase/dbvt_broad_phase.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | 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] --> src/pipeline/broad_phase/dbvt_broad_phase.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | 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: consider choosing a more descriptive name [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:172:17 [INFO] [stderr] | [INFO] [stderr] 172 | let _1: N = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::just_underscores_and_digits)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/partitioning/dbvt.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | bounding_volume: bounding_volume, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bounding_volume` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/partitioning/dbvt.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | 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] --> src/partitioning/dbvt.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | bounding_volume: bounding_volume, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bounding_volume` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/partitioning/dbvt.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | left: left, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `left` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/partitioning/dbvt.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | right: right, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `right` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/partitioning/dbvt.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | parent: parent, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `parent` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pipeline/narrow_phase/default_narrow_phase.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | 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] --> src/pipeline/narrow_phase/default_narrow_phase.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | 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] --> src/pipeline/narrow_phase/narrow_phase.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | 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] --> src/pipeline/narrow_phase/narrow_phase.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | 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] --> src/pipeline/narrow_phase/narrow_phase.rs:192:13 [INFO] [stderr] | [INFO] [stderr] 192 | 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] --> src/pipeline/narrow_phase/narrow_phase.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | 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] --> src/pipeline/world/collision_object.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | 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] --> src/pipeline/world/collision_object.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | 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] --> src/pipeline/world/collision_object.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pipeline/world/collision_object.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | 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] --> src/pipeline/world/collision_object.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | 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] --> src/pipeline/world/collision_object.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | 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] warning: redundant field names in struct initialization [INFO] [stderr] [INFO] [stderr] --> src/partitioning/bvt_visitor.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | bv: bv, [INFO] [stderr] | ^^^^^^ help: replace it with: `bv` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pipeline/broad_phase/dbvt_broad_phase.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | 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] --> src/pipeline/broad_phase/dbvt_broad_phase.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | 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] --> src/pipeline/world/collision_world.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | 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] --> src/pipeline/world/collision_world.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | 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] --> src/pipeline/world/collision_world.rs:303:13 [INFO] [stderr] | [INFO] [stderr] 303 | 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] --> src/pipeline/world/collision_world.rs:304:13 [INFO] [stderr] | [INFO] [stderr] 304 | 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] --> src/pipeline/world/collision_world.rs:323:13 [INFO] [stderr] | [INFO] [stderr] 323 | 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] --> src/pipeline/world/collision_world.rs:324:13 [INFO] [stderr] | [INFO] [stderr] 324 | 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] --> src/pipeline/world/collision_world.rs:343:13 [INFO] [stderr] | [INFO] [stderr] 343 | 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] --> src/procedural/polyline.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | coords: coords, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `coords` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/procedural/polyline.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | normals: normals, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `normals` [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: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/sphere.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | let _0_5: N = na::convert(0.5); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/sphere.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | let _0_5: N = na::convert(0.5); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/sphere.rs:216:9 [INFO] [stderr] | [INFO] [stderr] 216 | let _0_5: N = na::convert(0.5); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/cuboid.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let _0_5: N = na::convert(0.5); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/cuboid.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let _1 = N::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/cuboid.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let _0 = N::zero(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/cuboid.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | let _0_5: N = na::convert(0.5); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/bezier.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let _1: N = na::convert(1.0); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/closest_points_internal/composite_shape_against_shape.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | 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] --> src/query/closest_points_internal/composite_shape_against_shape.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | m1: m1, [INFO] [stderr] | ^^^^^^ help: replace it with: `m1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/closest_points_internal/composite_shape_against_shape.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | g1: g1, [INFO] [stderr] | ^^^^^^ help: replace it with: `g1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/closest_points_internal/composite_shape_against_shape.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | m2: m2, [INFO] [stderr] | ^^^^^^ help: replace it with: `m2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/closest_points_internal/composite_shape_against_shape.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | g2: g2, [INFO] [stderr] | ^^^^^^ help: replace it with: `g2` [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: consider choosing a more descriptive name [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | let _0: N = na::zero(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | let _1: N = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | let s; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let t; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | let c = na::dot(dir1, &r); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | let b = na::dot(dir1, dir2); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | let _0: P::Real = na::zero(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | let _1: P::Real = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | let mut s; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | let mut t; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | let c = na::dot(&d1, &r); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:82:17 [INFO] [stderr] | [INFO] [stderr] 82 | let b = na::dot(&d1, &d2); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:172:17 [INFO] [stderr] | [INFO] [stderr] 172 | let _1: N = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::just_underscores_and_digits)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pipeline/narrow_phase/default_narrow_phase.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | 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] --> src/pipeline/narrow_phase/default_narrow_phase.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | 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] --> src/pipeline/narrow_phase/narrow_phase.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | 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] --> src/pipeline/narrow_phase/narrow_phase.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | 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] --> src/pipeline/narrow_phase/narrow_phase.rs:192:13 [INFO] [stderr] | [INFO] [stderr] 192 | 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] --> src/pipeline/narrow_phase/narrow_phase.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | 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] --> src/pipeline/world/collision_object.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | 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] --> src/pipeline/world/collision_object.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | 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] --> src/pipeline/world/collision_object.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pipeline/world/collision_object.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | 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] --> src/pipeline/world/collision_object.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | 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] --> src/pipeline/world/collision_object.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | 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] --> src/pipeline/world/collision_world.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | 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] --> src/pipeline/world/collision_world.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | 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] --> src/pipeline/world/collision_world.rs:303:13 [INFO] [stderr] | [INFO] [stderr] 303 | 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] --> src/pipeline/world/collision_world.rs:304:13 [INFO] [stderr] | [INFO] [stderr] 304 | 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] --> src/pipeline/world/collision_world.rs:323:13 [INFO] [stderr] | [INFO] [stderr] 323 | 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] --> src/pipeline/world/collision_world.rs:324:13 [INFO] [stderr] | [INFO] [stderr] 324 | 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] --> src/pipeline/world/collision_world.rs:343:13 [INFO] [stderr] | [INFO] [stderr] 343 | 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] --> src/query/distance_internal/composite_shape_against_shape.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | m1: m1, [INFO] [stderr] | ^^^^^^ help: replace it with: `m1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/distance_internal/composite_shape_against_shape.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | g1: g1, [INFO] [stderr] | ^^^^^^ help: replace it with: `g1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/distance_internal/composite_shape_against_shape.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | m2: m2, [INFO] [stderr] | ^^^^^^ help: replace it with: `m2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/distance_internal/composite_shape_against_shape.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | g2: g2, [INFO] [stderr] | ^^^^^^ help: replace it with: `g2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/point_internal/point_query.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | is_inside: is_inside, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `is_inside` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/point_internal/point_query.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | 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: consider choosing a more descriptive name [INFO] [stderr] --> src/query/point_internal/point_segment.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | let _1 = na::one::(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | let p = m.inverse_transform_point(pt); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | let _1 = na::one::(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:198:21 [INFO] [stderr] | [INFO] [stderr] 198 | let v = ab_ap / na::norm_squared(&ab); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:209:21 [INFO] [stderr] | [INFO] [stderr] 209 | let w = ac_ap / na::norm_squared(&ac); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:220:21 [INFO] [stderr] | [INFO] [stderr] 220 | let w = na::dot(&bc, &bp) / na::norm_squared(&bc); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:233:25 [INFO] [stderr] | [INFO] [stderr] 233 | let v = vb * denom; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:234:25 [INFO] [stderr] | [INFO] [stderr] 234 | let w = vc * denom; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:259:17 [INFO] [stderr] | [INFO] [stderr] 259 | let v = ab_ap / (ab_ap - ab_bp); // proj on ab = a + ab * v [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | let w = ac_ap / (ac_ap - ac_cp); // proj on ac = a + ac * w [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:261:17 [INFO] [stderr] | [INFO] [stderr] 261 | let u = (ac_bp - ab_bp) / (ac_bp - ab_bp + ab_cp - ac_cp); // proj on bc = b + bc * u [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/point_internal/point_compound.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | solid: solid, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `solid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/point_internal/point_bvt.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | 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] --> src/query/proximity_internal/composite_shape_against_shape.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | m1: m1, [INFO] [stderr] | ^^^^^^ help: replace it with: `m1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/proximity_internal/composite_shape_against_shape.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | g1: g1, [INFO] [stderr] | ^^^^^^ help: replace it with: `g1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/proximity_internal/composite_shape_against_shape.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | m2: m2, [INFO] [stderr] | ^^^^^^ help: replace it with: `m2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/proximity_internal/composite_shape_against_shape.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | g2: g2, [INFO] [stderr] | ^^^^^^ help: replace it with: `g2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/proximity_internal/composite_shape_against_shape.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | 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] --> src/query/ray_internal/ray.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | origin: origin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | dir: dir, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dir` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | toi: toi, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `toi` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | uvs: uvs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `uvs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | toi: toi, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `toi` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:101:13 [INFO] [stderr] | [INFO] [stderr] 101 | toi: toi, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `toi` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [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: consider choosing a more descriptive name [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | let _0_5: N = na::convert(0.5f64); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/query/ray_internal/ray_aabb.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | let _1: N = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/query/ray_internal/ray_aabb.rs:133:17 [INFO] [stderr] | [INFO] [stderr] 133 | let _1: N = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray_compound.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | solid: solid, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `solid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray_compound.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | solid: solid, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `solid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray_bvt.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | 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] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | m1: m1, [INFO] [stderr] | ^^^^^^ help: replace it with: `m1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | vel1: vel1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `vel1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | g1: g1, [INFO] [stderr] | ^^^^^^ help: replace it with: `g1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | m2: m2, [INFO] [stderr] | ^^^^^^ help: replace it with: `m2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | vel2: vel2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `vel2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | g2: g2, [INFO] [stderr] | ^^^^^^ help: replace it with: `g2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/capsule.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | half_height: half_height, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `half_height` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/capsule.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | radius: radius, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `radius` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/compound.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | shapes: shapes, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `shapes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/compound.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | bvt: bvt, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bvt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/compound.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | bvs: bvs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bvs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/cuboid.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | half_extents: half_extents, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `half_extents` [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: consider choosing a more descriptive name [INFO] [stderr] --> src/shape/cuboid.rs:450:21 [INFO] [stderr] | [INFO] [stderr] 450 | let _1: N = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/shape/cuboid.rs:469:21 [INFO] [stderr] | [INFO] [stderr] 469 | let _1: N = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/plane.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | Plane { normal: normal } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/polyline.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | bvt: bvt, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bvt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/polyline.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | bvs: bvs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bvs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/polyline.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | vertices: vertices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `vertices` [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: consider choosing a more descriptive name [INFO] [stderr] --> src/transformation/to_polyline/cuboid_to_polyline.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | let _2: N = na::convert(2.0f64); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transformation/convex_hull2.rs:218:13 [INFO] [stderr] | [INFO] [stderr] 218 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transformation/convex_hull2.rs:219:13 [INFO] [stderr] | [INFO] [stderr] 219 | prev: prev, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `prev` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transformation/convex_hull2.rs:220:13 [INFO] [stderr] | [INFO] [stderr] 220 | next: next, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `next` [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: consider choosing a more descriptive name [INFO] [stderr] --> src/utils/triangle.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | let _2: N = na::convert(2.0); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/utils/hashable_partial_eq.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | HashablePartialEq { value: value } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/utils/ref_with_cost.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | object: object, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `object` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/utils/ref_with_cost.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | cost: cost, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cost` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/procedural/polyline.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | coords: coords, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `coords` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/procedural/polyline.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | normals: normals, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `normals` [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: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/sphere.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | let _0_5: N = na::convert(0.5); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/sphere.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | let _0_5: N = na::convert(0.5); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/sphere.rs:216:9 [INFO] [stderr] | [INFO] [stderr] 216 | let _0_5: N = na::convert(0.5); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/cuboid.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | let _0_5: N = na::convert(0.5); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/cuboid.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let _1 = N::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/cuboid.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | let _0 = N::zero(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/cuboid.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | let _0_5: N = na::convert(0.5); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/procedural/bezier.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | let _1: N = na::convert(1.0); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/closest_points_internal/composite_shape_against_shape.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | 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] --> src/query/closest_points_internal/composite_shape_against_shape.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | m1: m1, [INFO] [stderr] | ^^^^^^ help: replace it with: `m1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/closest_points_internal/composite_shape_against_shape.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | g1: g1, [INFO] [stderr] | ^^^^^^ help: replace it with: `g1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/closest_points_internal/composite_shape_against_shape.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | m2: m2, [INFO] [stderr] | ^^^^^^ help: replace it with: `m2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/closest_points_internal/composite_shape_against_shape.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | g2: g2, [INFO] [stderr] | ^^^^^^ help: replace it with: `g2` [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: consider choosing a more descriptive name [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | let _0: N = na::zero(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:22:9 [INFO] [stderr] | [INFO] [stderr] 22 | let _1: N = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | let s; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | let t; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | let c = na::dot(dir1, &r); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | let b = na::dot(dir1, dir2); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | let _0: P::Real = na::zero(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | let _1: P::Real = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | let mut s; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | let mut t; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | let c = na::dot(&d1, &r); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:82:17 [INFO] [stderr] | [INFO] [stderr] 82 | let b = na::dot(&d1, &d2); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/distance_internal/composite_shape_against_shape.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | m1: m1, [INFO] [stderr] | ^^^^^^ help: replace it with: `m1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/distance_internal/composite_shape_against_shape.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | g1: g1, [INFO] [stderr] | ^^^^^^ help: replace it with: `g1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/distance_internal/composite_shape_against_shape.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | m2: m2, [INFO] [stderr] | ^^^^^^ help: replace it with: `m2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/distance_internal/composite_shape_against_shape.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | g2: g2, [INFO] [stderr] | ^^^^^^ help: replace it with: `g2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/point_internal/point_query.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | is_inside: is_inside, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `is_inside` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/point_internal/point_query.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | 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: consider choosing a more descriptive name [INFO] [stderr] --> src/query/point_internal/point_segment.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | let _1 = na::one::(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:72:13 [INFO] [stderr] | [INFO] [stderr] 72 | let p = m.inverse_transform_point(pt); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | let _1 = na::one::(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:198:21 [INFO] [stderr] | [INFO] [stderr] 198 | let v = ab_ap / na::norm_squared(&ab); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:209:21 [INFO] [stderr] | [INFO] [stderr] 209 | let w = ac_ap / na::norm_squared(&ac); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:220:21 [INFO] [stderr] | [INFO] [stderr] 220 | let w = na::dot(&bc, &bp) / na::norm_squared(&bc); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:233:25 [INFO] [stderr] | [INFO] [stderr] 233 | let v = vb * denom; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:234:25 [INFO] [stderr] | [INFO] [stderr] 234 | let w = vc * denom; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:259:17 [INFO] [stderr] | [INFO] [stderr] 259 | let v = ab_ap / (ab_ap - ab_bp); // proj on ab = a + ab * v [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:260:17 [INFO] [stderr] | [INFO] [stderr] 260 | let w = ac_ap / (ac_ap - ac_cp); // proj on ac = a + ac * w [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:261:17 [INFO] [stderr] | [INFO] [stderr] 261 | let u = (ac_bp - ab_bp) / (ac_bp - ab_bp + ab_cp - ac_cp); // proj on bc = b + bc * u [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/point_internal/point_compound.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | solid: solid, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `solid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/point_internal/point_bvt.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | 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] --> src/query/proximity_internal/composite_shape_against_shape.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | m1: m1, [INFO] [stderr] | ^^^^^^ help: replace it with: `m1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/proximity_internal/composite_shape_against_shape.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | g1: g1, [INFO] [stderr] | ^^^^^^ help: replace it with: `g1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/proximity_internal/composite_shape_against_shape.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | m2: m2, [INFO] [stderr] | ^^^^^^ help: replace it with: `m2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/proximity_internal/composite_shape_against_shape.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | g2: g2, [INFO] [stderr] | ^^^^^^ help: replace it with: `g2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/proximity_internal/composite_shape_against_shape.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | 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] --> src/query/ray_internal/ray.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | origin: origin, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | dir: dir, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dir` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | toi: toi, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `toi` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | uvs: uvs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `uvs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | toi: toi, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `toi` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:101:13 [INFO] [stderr] | [INFO] [stderr] 101 | toi: toi, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `toi` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [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: consider choosing a more descriptive name [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | let _0_5: N = na::convert(0.5f64); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/query/ray_internal/ray_aabb.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | let _1: N = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/query/ray_internal/ray_aabb.rs:133:17 [INFO] [stderr] | [INFO] [stderr] 133 | let _1: N = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray_compound.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | solid: solid, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `solid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray_compound.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | solid: solid, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `solid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/ray_internal/ray_bvt.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | 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] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | m1: m1, [INFO] [stderr] | ^^^^^^ help: replace it with: `m1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | vel1: vel1, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `vel1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | g1: g1, [INFO] [stderr] | ^^^^^^ help: replace it with: `g1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | m2: m2, [INFO] [stderr] | ^^^^^^ help: replace it with: `m2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | vel2: vel2, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `vel2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | g2: g2, [INFO] [stderr] | ^^^^^^ help: replace it with: `g2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/capsule.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | half_height: half_height, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `half_height` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/capsule.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | radius: radius, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `radius` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/compound.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | shapes: shapes, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `shapes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/compound.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | bvt: bvt, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bvt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/compound.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | bvs: bvs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bvs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/cuboid.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | half_extents: half_extents, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `half_extents` [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: consider choosing a more descriptive name [INFO] [stderr] --> src/shape/cuboid.rs:450:21 [INFO] [stderr] | [INFO] [stderr] 450 | let _1: N = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/shape/cuboid.rs:469:21 [INFO] [stderr] | [INFO] [stderr] 469 | let _1: N = na::one(); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/plane.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | Plane { normal: normal } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/polyline.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | bvt: bvt, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bvt` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/polyline.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | bvs: bvs, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `bvs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/shape/polyline.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | vertices: vertices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `vertices` [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: consider choosing a more descriptive name [INFO] [stderr] --> src/transformation/to_polyline/cuboid_to_polyline.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | let _2: N = na::convert(2.0f64); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transformation/convex_hull2.rs:218:13 [INFO] [stderr] | [INFO] [stderr] 218 | normal: normal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `normal` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transformation/convex_hull2.rs:219:13 [INFO] [stderr] | [INFO] [stderr] 219 | prev: prev, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `prev` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transformation/convex_hull2.rs:220:13 [INFO] [stderr] | [INFO] [stderr] 220 | next: next, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `next` [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: consider choosing a more descriptive name [INFO] [stderr] --> src/utils/triangle.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | let _2: N = na::convert(2.0); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/utils/hashable_partial_eq.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | HashablePartialEq { value: value } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/utils/ref_with_cost.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | object: object, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `object` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/utils/ref_with_cost.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | cost: cost, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `cost` [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] --> src/bounding_volume/mod.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub mod bounding_volume; [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] --> src/pipeline/broad_phase/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub mod broad_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: unneeded return statement [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/composite_shape_shape_manifold_generator.rs:155:9 [INFO] [stderr] | [INFO] [stderr] 155 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/composite_shape_shape_manifold_generator.rs:148:16 [INFO] [stderr] | [INFO] [stderr] 148 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 149 | | if let Some(cs) = b.as_composite_shape() { [INFO] [stderr] 150 | | self.do_update(d, idb, mb, cs, ida, ma, a, prediction, id_alloc, true); [INFO] [stderr] 151 | | return true; [INFO] [stderr] 152 | | } [INFO] [stderr] 153 | | } [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] 148 | } else if let Some(cs) = b.as_composite_shape() { [INFO] [stderr] 149 | self.do_update(d, idb, mb, cs, ida, ma, a, prediction, id_alloc, true); [INFO] [stderr] 150 | return true; [INFO] [stderr] 151 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/pipeline/narrow_phase/default_narrow_phase.rs:83:24 [INFO] [stderr] | [INFO] [stderr] 83 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 84 | | if !had_contacts { [INFO] [stderr] 85 | | contact_events.push(ContactEvent::Started(co1.handle(), co2.handle())); [INFO] [stderr] 86 | | } [INFO] [stderr] 87 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 83 | } else if !had_contacts { [INFO] [stderr] 84 | contact_events.push(ContactEvent::Started(co1.handle(), co2.handle())); [INFO] [stderr] 85 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/pipeline/narrow_phase/mod.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | 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: module has the same name as its containing module [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/mod.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | 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: unneeded return statement [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/composite_shape_shape_proximity_detector.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/composite_shape_shape_proximity_detector.rs:180:16 [INFO] [stderr] | [INFO] [stderr] 180 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 181 | | if let Some(cs) = g2.as_composite_shape() { [INFO] [stderr] 182 | | self.do_update(dispatcher, m2, cs, m1, g1, margin, true); [INFO] [stderr] 183 | | return true; [INFO] [stderr] 184 | | } [INFO] [stderr] 185 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 180 | } else if let Some(cs) = g2.as_composite_shape() { [INFO] [stderr] 181 | self.do_update(dispatcher, m2, cs, m1, g1, margin, true); [INFO] [stderr] 182 | return true; [INFO] [stderr] 183 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/query/algorithms/epa2.rs:333:9 [INFO] [stderr] | [INFO] [stderr] 333 | return Some((cpts.0, cpts.1, best_face.normal)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some((cpts.0, cpts.1, best_face.normal))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/query/contacts_internal/contact_manifold.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | return matched; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `matched` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/query/point_internal/point_capsule.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 23 | | if solid { [INFO] [stderr] 24 | | PointProjection::new(true, *pt) [INFO] [stderr] 25 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 22 | } else if solid { [INFO] [stderr] 23 | PointProjection::new(true, *pt) [INFO] [stderr] 24 | } else { [INFO] [stderr] 25 | let mut dir: Vector = na::zero(); [INFO] [stderr] 26 | dir[1] = na::one(); [INFO] [stderr] 27 | dir = m * dir; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: All variants have the same prefix: `On` [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | / enum ProjectionInfo { [INFO] [stderr] 116 | | OnAB, [INFO] [stderr] 117 | | OnAC, [INFO] [stderr] 118 | | OnBC, [INFO] [stderr] 119 | | OnFace(N, N, N), [INFO] [stderr] 120 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:157:17 [INFO] [stderr] | [INFO] [stderr] 157 | return ProjectionInfo::OnFace(va, vb, vc); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `ProjectionInfo::OnFace(va, vb, vc)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:285:20 [INFO] [stderr] | [INFO] [stderr] 285 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 286 | | if d_ac < d_bc { [INFO] [stderr] 287 | | // ac [INFO] [stderr] 288 | | let bcoords = [_1 - w, w]; [INFO] [stderr] ... | [INFO] [stderr] 298 | | } [INFO] [stderr] 299 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 285 | } else if d_ac < d_bc { [INFO] [stderr] 286 | // ac [INFO] [stderr] 287 | let bcoords = [_1 - w, w]; [INFO] [stderr] 288 | proj = a + ac * w; [INFO] [stderr] 289 | proj = m * proj; [INFO] [stderr] 290 | loc = TrianglePointLocation::OnEdge(2, bcoords); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/query/ray_internal/ray_aabb.rs:195:12 [INFO] [stderr] | [INFO] [stderr] 195 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 196 | | if near_diag { [INFO] [stderr] 197 | | Some((tmin, -na::normalize(&ray.dir), near_side)) [INFO] [stderr] 198 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 207 | | } [INFO] [stderr] 208 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 195 | } else if near_diag { [INFO] [stderr] 196 | Some((tmin, -na::normalize(&ray.dir), near_side)) [INFO] [stderr] 197 | } else { [INFO] [stderr] 198 | let mut normal = Vector::zeros(); [INFO] [stderr] 199 | [INFO] [stderr] 200 | if near_side < 0 { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/query/ray_internal/ray_aabb.rs:180:16 [INFO] [stderr] | [INFO] [stderr] 180 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 181 | | if far_diag { [INFO] [stderr] 182 | | Some((tmax, -na::normalize(&ray.dir), far_side)) [INFO] [stderr] 183 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 193 | | } [INFO] [stderr] 194 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 180 | } else if far_diag { [INFO] [stderr] 181 | Some((tmax, -na::normalize(&ray.dir), far_side)) [INFO] [stderr] 182 | } else { [INFO] [stderr] 183 | let mut normal = Vector::zeros(); [INFO] [stderr] 184 | [INFO] [stderr] 185 | if far_side < 0 { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/shape/cuboid.rs:338:24 [INFO] [stderr] | [INFO] [stderr] 338 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 339 | | if sign < na::zero() { [INFO] [stderr] 340 | | support_point_id |= 1 << i1; [INFO] [stderr] 341 | | } [INFO] [stderr] 342 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 338 | } else if sign < na::zero() { [INFO] [stderr] 339 | support_point_id |= 1 << i1; [INFO] [stderr] 340 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/shape/cuboid.rs:395:17 [INFO] [stderr] | [INFO] [stderr] 395 | return PolyhedralCone::HalfLine(Unit::new_unchecked(dir)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `PolyhedralCone::HalfLine(Unit::new_unchecked(dir))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/shape/mod.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | pub mod shape; [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] --> src/shape/triangle.rs:123:16 [INFO] [stderr] | [INFO] [stderr] 123 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 124 | | if d2 > d3 { [INFO] [stderr] 125 | | self.b() [INFO] [stderr] 126 | | } else { [INFO] [stderr] 127 | | self.c() [INFO] [stderr] 128 | | } [INFO] [stderr] 129 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 123 | } else if d2 > d3 { [INFO] [stderr] 124 | self.b() [INFO] [stderr] 125 | } else { [INFO] [stderr] 126 | self.c() [INFO] [stderr] 127 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/transformation/to_polyline/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub mod to_polyline; [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: unneeded return statement [INFO] [stderr] --> src/utils/point_in_poly2d.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/bounding_volume/mod.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub mod bounding_volume; [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: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:340:17 [INFO] [stderr] | [INFO] [stderr] 340 | let ab_ap = na::dot(&ab, &ap); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:341:17 [INFO] [stderr] | [INFO] [stderr] 341 | let sqnab = na::norm_squared(&ab); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/gjk.rs:147:26 [INFO] [stderr] | [INFO] [stderr] 147 | let min_bound = -na::dot(dir.as_ref(), &cso_point.point.coords); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/gjk.rs:278:20 [INFO] [stderr] | [INFO] [stderr] 278 | if na::dot(&dir, &ray.dir) < na::zero() && t > _eps_tol { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/gjk.rs:291:20 [INFO] [stderr] | [INFO] [stderr] 291 | if na::dot(&dir, &ray.dir) > N::zero() { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/algorithms/gjk.rs:306:25 [INFO] [stderr] | [INFO] [stderr] 306 | let max_bound = na::norm_squared(&proj); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/closest_points_internal/ball_against_ball.rs:23:28 [INFO] [stderr] | [INFO] [stderr] 23 | let distance_squared = na::norm_squared(&delta_pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::normalize': use `Matrix::normalize` or `Quaternion::normalize` instead [INFO] [stderr] --> src/query/closest_points_internal/ball_against_ball.rs:31:26 [INFO] [stderr] | [INFO] [stderr] 31 | let normal = na::normalize(&delta_pos); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | let a = na::norm_squared(dir1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | let e = na::norm_squared(dir2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | let f = na::dot(dir2, &r); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | let c = na::dot(dir1, &r); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:40:21 [INFO] [stderr] | [INFO] [stderr] 40 | let b = na::dot(dir1, dir2); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/plane_against_support_map.rs:25:20 [INFO] [stderr] | [INFO] [stderr] 25 | let distance = na::dot(&*plane_normal, &(plane_center - deepest)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | let a = na::norm_squared(&d1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | let e = na::norm_squared(&d2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | let f = na::dot(&d2, &r); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | let c = na::dot(&d1, &r); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:82:21 [INFO] [stderr] | [INFO] [stderr] 82 | let b = na::dot(&d1, &d2); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/contacts_internal/ball_against_ball.rs:18:28 [INFO] [stderr] | [INFO] [stderr] 18 | let distance_squared = na::norm_squared(&delta_pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/contacts_internal/plane_against_support_map.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | let distance = na::dot(&*plane_normal, &(plane_center - deepest)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/distance_internal/ball_against_ball.rs:16:28 [INFO] [stderr] | [INFO] [stderr] 16 | let distance_squared = na::norm_squared(&delta_pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/distance_internal/plane_against_support_map.rs:17:20 [INFO] [stderr] | [INFO] [stderr] 17 | let distance = na::dot(&*plane_normal, &(plane_center - deepest)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/proximity_internal/ball_against_ball.rs:23:28 [INFO] [stderr] | [INFO] [stderr] 23 | let distance_squared = na::norm_squared(&delta_pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/pipeline/broad_phase/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub mod broad_phase; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/proximity_internal/plane_against_support_map.rs:25:20 [INFO] [stderr] | [INFO] [stderr] 25 | let distance = na::dot(&*plane_normal, &(plane_center - deepest)); [INFO] [stderr] | ^^^^^^^ [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: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/ray_internal/ray_plane.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | let denom = na::dot(plane_normal, line_dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/ray_internal/ray_plane.rs:21:14 [INFO] [stderr] | [INFO] [stderr] 21 | Some(na::dot(plane_normal, &dpos) / denom) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | let a = na::norm_squared(&ray.dir); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | let b = na::dot(&dcenter, &ray.dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | let c = na::norm_squared(&dcenter) - radius * radius; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::normalize': use `Matrix::normalize` or `Quaternion::normalize` instead [INFO] [stderr] --> src/query/ray_internal/ray_aabb.rs:182:30 [INFO] [stderr] | [INFO] [stderr] 182 | Some((tmax, -na::normalize(&ray.dir), far_side)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::normalize': use `Matrix::normalize` or `Quaternion::normalize` instead [INFO] [stderr] --> src/query/ray_internal/ray_aabb.rs:197:26 [INFO] [stderr] | [INFO] [stderr] 197 | Some((tmin, -na::normalize(&ray.dir), near_side)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::normalize': use `Matrix::normalize` or `Quaternion::normalize` instead [INFO] [stderr] --> src/query/ray_internal/ray_support_map.rs:35:32 [INFO] [stderr] | [INFO] [stderr] 35 | let ndir = na::normalize(&ray.dir); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/ray_internal/ray_support_map.rs:37:33 [INFO] [stderr] | [INFO] [stderr] 37 | let shift = na::dot(&(supp - ray.origin), &ndir) + na::convert(0.001f64); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/transformation/convex_hull_utils.rs:18:19 [INFO] [stderr] | [INFO] [stderr] 18 | let dot = na::dot(direction, &pt.coordinates()); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/transformation/convex_hull_utils.rs:40:19 [INFO] [stderr] | [INFO] [stderr] 40 | let dot = na::dot(direction, &points[*i].coordinates()); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/transformation/convex_hull2.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | if !na::norm_squared(&p1p2).is_zero() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/utils/triangle.rs:41:14 [INFO] [stderr] | [INFO] [stderr] 41 | let na = na::norm_squared(&a); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/utils/triangle.rs:42:14 [INFO] [stderr] | [INFO] [stderr] 42 | let nb = na::norm_squared(&b); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/triangle.rs:44:15 [INFO] [stderr] | [INFO] [stderr] 44 | let dab = na::dot(&a, &b); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/utils/triangle.rs:53:18 [INFO] [stderr] | [INFO] [stderr] 53 | let nc = na::norm_squared(&c); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/triangle.rs:68:33 [INFO] [stderr] | [INFO] [stderr] 68 | let center = *pc + (a * na::dot(&k, &b) - b * na::dot(&k, &a)) / denom; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/triangle.rs:68:55 [INFO] [stderr] | [INFO] [stderr] 68 | let center = *pc + (a * na::dot(&k, &b) - b * na::dot(&k, &a)) / denom; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/triangle.rs:111:15 [INFO] [stderr] | [INFO] [stderr] 111 | let d11 = na::dot(&p1p, &p1p2); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/triangle.rs:112:15 [INFO] [stderr] | [INFO] [stderr] 112 | let d12 = na::dot(&p2p, &p2p3); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/triangle.rs:113:15 [INFO] [stderr] | [INFO] [stderr] 113 | let d13 = na::dot(&p3p, &p3p1); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/utils/triangle.rs:115:33 [INFO] [stderr] | [INFO] [stderr] 115 | d11 >= na::zero() && d11 <= na::norm_squared(&p1p2) && d12 >= na::zero() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/utils/triangle.rs:116:19 [INFO] [stderr] | [INFO] [stderr] 116 | && d12 <= na::norm_squared(&p2p3) && d13 >= na::zero() && d13 <= na::norm_squared(&p3p1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/utils/triangle.rs:116:74 [INFO] [stderr] | [INFO] [stderr] 116 | && d12 <= na::norm_squared(&p2p3) && d13 >= na::zero() && d13 <= na::norm_squared(&p3p1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/point_cloud_support_point.rs:8:24 [INFO] [stderr] | [INFO] [stderr] 8 | let mut best_dot = na::dot(&points[0].coords, dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/point_cloud_support_point.rs:12:19 [INFO] [stderr] | [INFO] [stderr] 12 | let dot = na::dot(&p.coords, dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/shape/shape.rs:27:44 [INFO] [stderr] | [INFO] [stderr] 27 | BoundingSphere::new(aabb.center(), na::norm_squared(&aabb.half_extents())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/bounding_volume/bounding_sphere.rs:64:32 [INFO] [stderr] | [INFO] [stderr] 64 | let distance_squared = na::norm_squared(&delta_pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm': use `Matrix::norm` or `Quaternion::norm` instead [INFO] [stderr] --> src/bounding_volume/bounding_sphere.rs:73:24 [INFO] [stderr] | [INFO] [stderr] 73 | let distance = na::norm(&delta_pos); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/bounding_sphere.rs:88:32 [INFO] [stderr] | [INFO] [stderr] 88 | let s_center_dir = na::dot(&self.center.coords, &dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/bounding_sphere.rs:89:32 [INFO] [stderr] | [INFO] [stderr] 89 | let o_center_dir = na::dot(&other.center.coords, &dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm': use `Matrix::norm` or `Quaternion::norm` instead [INFO] [stderr] --> src/bounding_volume/bounding_sphere_cuboid.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | let radius = na::norm(self.half_extents()); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:97:17 [INFO] [stderr] | [INFO] [stderr] 97 | na::dot(generator.as_ref(), dir.as_ref()) <= na::zero() [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | na::dot(normal.as_ref(), dir.as_ref()) >= na::zero() [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:103:17 [INFO] [stderr] | [INFO] [stderr] 103 | na::dot(normal.as_ref(), dir.as_ref()).abs() >= N::one() - c_eps [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:107:24 [INFO] [stderr] | [INFO] [stderr] 107 | if na::dot(g.as_ref(), dir.as_ref()) > na::zero() { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | na::dot(generator.as_ref(), dir.as_ref()) >= N::one() - c_eps [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:128:17 [INFO] [stderr] | [INFO] [stderr] 128 | na::dot(normal.as_ref(), dir.as_ref()) <= na::zero() [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:131:17 [INFO] [stderr] | [INFO] [stderr] 131 | na::dot(normal.as_ref(), dir.as_ref()).abs() <= c_eps [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/composite_shape_shape_manifold_generator.rs:155:9 [INFO] [stderr] | [INFO] [stderr] 155 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:146:17 [INFO] [stderr] | [INFO] [stderr] 146 | na::dot(&(*seg1.a() - ref_pt), &ortho), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/composite_shape_shape_manifold_generator.rs:148:16 [INFO] [stderr] | [INFO] [stderr] 148 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 149 | | if let Some(cs) = b.as_composite_shape() { [INFO] [stderr] 150 | | self.do_update(d, idb, mb, cs, ida, ma, a, prediction, id_alloc, true); [INFO] [stderr] 151 | | return true; [INFO] [stderr] 152 | | } [INFO] [stderr] 153 | | } [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] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:147:17 [INFO] [stderr] | [INFO] [stderr] 147 | na::dot(&(*seg1.b() - ref_pt), &ortho), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 148 | } else if let Some(cs) = b.as_composite_shape() { [INFO] [stderr] 149 | self.do_update(d, idb, mb, cs, ida, ma, a, prediction, id_alloc, true); [INFO] [stderr] 150 | return true; [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:150:17 [INFO] [stderr] 151 | } [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] 150 | na::dot(&(*seg2.a() - ref_pt), &ortho), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:151:17 [INFO] [stderr] | [INFO] [stderr] 151 | na::dot(&(*seg2.b() - ref_pt), &ortho), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_ball_manifold_generator.rs:49:24 [INFO] [stderr] | [INFO] [stderr] 49 | let dist = na::dot(&(ball_center - plane_center), plane_normal.as_ref()); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/pipeline/narrow_phase/default_narrow_phase.rs:83:24 [INFO] [stderr] | [INFO] [stderr] 83 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 84 | | if !had_contacts { [INFO] [stderr] 85 | | contact_events.push(ContactEvent::Started(co1.handle(), co2.handle())); [INFO] [stderr] 86 | | } [INFO] [stderr] 87 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_convex_polyhedron_manifold_generator.rs:51:28 [INFO] [stderr] | [INFO] [stderr] 51 | let dist = na::dot(&dpt, plane_normal.as_ref()); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 83 | } else if !had_contacts { [INFO] [stderr] 84 | contact_events.push(ContactEvent::Started(co1.handle(), co2.handle())); [INFO] [stderr] 85 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/pipeline/narrow_phase/mod.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | 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: module has the same name as its containing module [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/mod.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | 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: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:212:29 [INFO] [stderr] | [INFO] [stderr] 212 | let dist1 = na::dot( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:220:29 [INFO] [stderr] | [INFO] [stderr] 220 | let dist2 = na::dot( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:228:29 [INFO] [stderr] | [INFO] [stderr] 228 | let dist3 = na::dot( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:251:25 [INFO] [stderr] | [INFO] [stderr] 251 | let dist1 = na::dot( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:255:25 [INFO] [stderr] | [INFO] [stderr] 255 | let dist2 = na::dot( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:283:38 [INFO] [stderr] | [INFO] [stderr] 283 | let candidate_max_dist = na::dot(&cso_point.point.coords, &face.normal); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:308:32 [INFO] [stderr] | [INFO] [stderr] 308 | let dist = na::dot(f.0.normal.as_ref(), &f.0.proj.coords); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:205:24 [INFO] [stderr] | [INFO] [stderr] 205 | let norm = na::norm_squared(&self.vertices[i].point.coords); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/contacts_internal/contact.rs:38:22 [INFO] [stderr] | [INFO] [stderr] 38 | let depth = -na::dot(normal.as_ref(), &(world2 - world1)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/composite_shape_shape_proximity_detector.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/composite_shape_shape_proximity_detector.rs:180:16 [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:309:26 [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] 180 | } else { [INFO] [stderr] 309 | depth = -na::dot(normal.as_ref(), &(world2 - world1)); [INFO] [stderr] | ________________^ [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 181 | | if let Some(cs) = g2.as_composite_shape() { [INFO] [stderr] 182 | | self.do_update(dispatcher, m2, cs, m1, g1, margin, true); [INFO] [stderr] 183 | | return true; [INFO] [stderr] 184 | | } [INFO] [stderr] 185 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 180 | } else if let Some(cs) = g2.as_composite_shape() { [INFO] [stderr] 181 | self.do_update(dispatcher, m2, cs, m1, g1, margin, true); [INFO] [stderr] 182 | return true; [INFO] [stderr] [INFO] [stderr] 183 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:314:26 [INFO] [stderr] | [INFO] [stderr] 314 | depth = -na::dot(&*world_normal2, &(world1 - world2)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:341:28 [INFO] [stderr] | [INFO] [stderr] 341 | let proj = na::dot(world_dir1.as_ref(), &shift); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:366:28 [INFO] [stderr] | [INFO] [stderr] 366 | let proj = na::dot(world_dir2.as_ref(), &shift); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_plane.rs:11:17 [INFO] [stderr] | [INFO] [stderr] 11 | let d = na::dot(self.normal().as_ref(), &ls_pt.coords); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_plane.rs:30:20 [INFO] [stderr] | [INFO] [stderr] 30 | let dist = na::dot(self.normal().as_ref(), &ls_pt.coords); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_plane.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | na::dot(self.normal().as_ref(), &ls_pt.coords) <= na::zero() [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_ball.rs:13:32 [INFO] [stderr] | [INFO] [stderr] 13 | let distance_squared = na::norm_squared(&ls_pt.coords); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm': use `Matrix::norm` or `Quaternion::norm` instead [INFO] [stderr] --> src/query/point_internal/point_ball.rs:33:20 [INFO] [stderr] | [INFO] [stderr] 33 | let dist = na::norm(&m.inverse_transform_point(pt).coords) - self.radius(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_ball.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | na::norm_squared(&m.inverse_transform_point(pt).coords) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm': use `Matrix::norm` or `Quaternion::norm` instead [INFO] [stderr] --> src/query/point_internal/point_aabb.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | na::norm(&shift) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_segment.rs:58:21 [INFO] [stderr] | [INFO] [stderr] 58 | let ab_ap = na::dot(&ab, &ap); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_segment.rs:59:21 [INFO] [stderr] | [INFO] [stderr] 59 | let sqnab = na::norm_squared(&ab); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:80:21 [INFO] [stderr] | [INFO] [stderr] 80 | let ab_ap = na::dot(&ab, &ap); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:81:21 [INFO] [stderr] | [INFO] [stderr] 81 | let ac_ap = na::dot(&ac, &ap); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:92:21 [INFO] [stderr] | [INFO] [stderr] 92 | let ab_bp = na::dot(&ab, &bp); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:93:21 [INFO] [stderr] | [INFO] [stderr] 93 | let ac_bp = na::dot(&ac, &bp); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:104:21 [INFO] [stderr] | [INFO] [stderr] 104 | let ab_cp = na::dot(&ab, &cp); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | let ac_cp = na::dot(&ac, &cp); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:198:33 [INFO] [stderr] | [INFO] [stderr] 198 | let v = ab_ap / na::norm_squared(&ab); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:209:33 [INFO] [stderr] | [INFO] [stderr] 209 | let w = ac_ap / na::norm_squared(&ac); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:220:25 [INFO] [stderr] | [INFO] [stderr] 220 | let w = na::dot(&bc, &bp) / na::norm_squared(&bc); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:220:45 [INFO] [stderr] | [INFO] [stderr] 220 | let w = na::dot(&bc, &bp) / na::norm_squared(&bc); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:264:24 [INFO] [stderr] | [INFO] [stderr] 264 | let d_ab = na::norm_squared(&ap) - (na::norm_squared(&ab) * v * v); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:264:49 [INFO] [stderr] | [INFO] [stderr] 264 | let d_ab = na::norm_squared(&ap) - (na::norm_squared(&ab) * v * v); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:265:24 [INFO] [stderr] | [INFO] [stderr] 265 | let d_ac = na::norm_squared(&ap) - (na::norm_squared(&ac) * u * u); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:265:49 [INFO] [stderr] | [INFO] [stderr] 265 | let d_ac = na::norm_squared(&ap) - (na::norm_squared(&ac) * u * u); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:266:24 [INFO] [stderr] | [INFO] [stderr] 266 | let d_bc = na::norm_squared(&bp) - (na::norm_squared(&bc) * w * w); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:266:49 [INFO] [stderr] | [INFO] [stderr] 266 | let d_bc = na::norm_squared(&bp) - (na::norm_squared(&bc) * w * w); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/ray_internal/ray_plane.rs:53:31 [INFO] [stderr] | [INFO] [stderr] 53 | let dot_normal_dpos = na::dot(self.normal().as_ref(), &dpos.coords); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/ray_internal/ray_plane.rs:60:35 [INFO] [stderr] | [INFO] [stderr] 60 | let t = dot_normal_dpos / na::dot(self.normal().as_ref(), &ls_ray.dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::normalize': use `Matrix::normalize` or `Quaternion::normalize` instead [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:42:26 [INFO] [stderr] | [INFO] [stderr] 42 | let normal = na::normalize(&pos); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/convex_polygon.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 47 | if na::dot(&*normals[0], &*normals[normals.len() - 1]) > N::one() - eps { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/convex_polygon.rs:55:16 [INFO] [stderr] | [INFO] [stderr] 55 | if na::dot(&*normals[i1], &*normals[i2]) > N::one() - eps { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/convex_polygon.rs:138:27 [INFO] [stderr] | [INFO] [stderr] 138 | let mut max_dot = na::dot(&*self.normals[0], &ls_dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/convex_polygon.rs:141:23 [INFO] [stderr] | [INFO] [stderr] 141 | let dot = na::dot(&*self.normals[i], &ls_dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/convex_polygon.rs:173:16 [INFO] [stderr] | [INFO] [stderr] 173 | if na::dot(normal.as_ref(), local_dir.as_ref()) >= ceps { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm': use `Matrix::norm` or `Quaternion::norm` instead [INFO] [stderr] --> src/shape/segment.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | na::norm(&self.scaled_direction()) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/segment.rs:104:12 [INFO] [stderr] | [INFO] [stderr] 104 | if na::dot(&self.a.coords, &local_dir) > na::dot(&self.b.coords, &local_dir) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/segment.rs:104:50 [INFO] [stderr] | [INFO] [stderr] 104 | if na::dot(&self.a.coords, &local_dir) > na::dot(&self.b.coords, &local_dir) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/segment.rs:234:23 [INFO] [stderr] | [INFO] [stderr] 234 | let dot = na::dot(seg_dir.as_ref(), local_dir.as_ref()); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/triangle.rs:113:18 [INFO] [stderr] | [INFO] [stderr] 113 | let d1 = na::dot(&self.a().coords, &local_dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/triangle.rs:114:18 [INFO] [stderr] | [INFO] [stderr] 114 | let d2 = na::dot(&self.b().coords, &local_dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/triangle.rs:115:18 [INFO] [stderr] | [INFO] [stderr] 115 | let d3 = na::dot(&self.c().coords, &local_dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/transformation/convex_hull2.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | na::dot(&(*pt - *p0), &self.normal) > _eps * na::convert(100.0f64) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/query/algorithms/epa2.rs:333:9 [INFO] [stderr] | [INFO] [stderr] 333 | return Some((cpts.0, cpts.1, best_face.normal)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some((cpts.0, cpts.1, best_face.normal))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/query/contacts_internal/contact_manifold.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | return matched; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `matched` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/query/point_internal/point_capsule.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 23 | | if solid { [INFO] [stderr] 24 | | PointProjection::new(true, *pt) [INFO] [stderr] 25 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 22 | } else if solid { [INFO] [stderr] 23 | PointProjection::new(true, *pt) [INFO] [stderr] 24 | } else { [INFO] [stderr] 25 | let mut dir: Vector = na::zero(); [INFO] [stderr] 26 | dir[1] = na::one(); [INFO] [stderr] 27 | dir = m * dir; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: All variants have the same prefix: `On` [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | / enum ProjectionInfo { [INFO] [stderr] 116 | | OnAB, [INFO] [stderr] 117 | | OnAC, [INFO] [stderr] 118 | | OnBC, [INFO] [stderr] 119 | | OnFace(N, N, N), [INFO] [stderr] 120 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the prefixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:157:17 [INFO] [stderr] | [INFO] [stderr] 157 | return ProjectionInfo::OnFace(va, vb, vc); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `ProjectionInfo::OnFace(va, vb, vc)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:285:20 [INFO] [stderr] | [INFO] [stderr] 285 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 286 | | if d_ac < d_bc { [INFO] [stderr] 287 | | // ac [INFO] [stderr] 288 | | let bcoords = [_1 - w, w]; [INFO] [stderr] ... | [INFO] [stderr] 298 | | } [INFO] [stderr] 299 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 285 | } else if d_ac < d_bc { [INFO] [stderr] 286 | // ac [INFO] [stderr] 287 | let bcoords = [_1 - w, w]; [INFO] [stderr] 288 | proj = a + ac * w; [INFO] [stderr] 289 | proj = m * proj; [INFO] [stderr] 290 | loc = TrianglePointLocation::OnEdge(2, bcoords); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/query/ray_internal/ray_aabb.rs:195:12 [INFO] [stderr] | [INFO] [stderr] 195 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 196 | | if near_diag { [INFO] [stderr] 197 | | Some((tmin, -na::normalize(&ray.dir), near_side)) [INFO] [stderr] 198 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 207 | | } [INFO] [stderr] 208 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 195 | } else if near_diag { [INFO] [stderr] 196 | Some((tmin, -na::normalize(&ray.dir), near_side)) [INFO] [stderr] 197 | } else { [INFO] [stderr] 198 | let mut normal = Vector::zeros(); [INFO] [stderr] 199 | [INFO] [stderr] 200 | if near_side < 0 { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/query/ray_internal/ray_aabb.rs:180:16 [INFO] [stderr] | [INFO] [stderr] 180 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 181 | | if far_diag { [INFO] [stderr] 182 | | Some((tmax, -na::normalize(&ray.dir), far_side)) [INFO] [stderr] 183 | | } else { [INFO] [stderr] ... | [INFO] [stderr] 193 | | } [INFO] [stderr] 194 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 180 | } else if far_diag { [INFO] [stderr] 181 | Some((tmax, -na::normalize(&ray.dir), far_side)) [INFO] [stderr] 182 | } else { [INFO] [stderr] 183 | let mut normal = Vector::zeros(); [INFO] [stderr] 184 | [INFO] [stderr] 185 | if far_side < 0 { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/shape/cuboid.rs:338:24 [INFO] [stderr] | [INFO] [stderr] 338 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 339 | | if sign < na::zero() { [INFO] [stderr] 340 | | support_point_id |= 1 << i1; [INFO] [stderr] 341 | | } [INFO] [stderr] 342 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [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] 338 | } else if sign < na::zero() { [INFO] [stderr] 339 | support_point_id |= 1 << i1; [INFO] [stderr] 340 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/shape/cuboid.rs:395:17 [INFO] [stderr] | [INFO] [stderr] 395 | return PolyhedralCone::HalfLine(Unit::new_unchecked(dir)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `PolyhedralCone::HalfLine(Unit::new_unchecked(dir))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/shape/mod.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | pub mod shape; [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] --> src/shape/triangle.rs:123:16 [INFO] [stderr] | [INFO] [stderr] 123 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 124 | | if d2 > d3 { [INFO] [stderr] 125 | | self.b() [INFO] [stderr] 126 | | } else { [INFO] [stderr] 127 | | self.c() [INFO] [stderr] 128 | | } [INFO] [stderr] 129 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 123 | } else if d2 > d3 { [INFO] [stderr] 124 | self.b() [INFO] [stderr] 125 | } else { [INFO] [stderr] 126 | self.c() [INFO] [stderr] 127 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/transformation/to_polyline/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub mod to_polyline; [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: unneeded return statement [INFO] [stderr] --> src/utils/point_in_poly2d.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:340:17 [INFO] [stderr] | [INFO] [stderr] 340 | let ab_ap = na::dot(&ab, &ap); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:341:17 [INFO] [stderr] | [INFO] [stderr] 341 | let sqnab = na::norm_squared(&ab); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/gjk.rs:147:26 [INFO] [stderr] | [INFO] [stderr] 147 | let min_bound = -na::dot(dir.as_ref(), &cso_point.point.coords); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/gjk.rs:278:20 [INFO] [stderr] | [INFO] [stderr] 278 | if na::dot(&dir, &ray.dir) < na::zero() && t > _eps_tol { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/gjk.rs:291:20 [INFO] [stderr] | [INFO] [stderr] 291 | if na::dot(&dir, &ray.dir) > N::zero() { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/algorithms/gjk.rs:306:25 [INFO] [stderr] | [INFO] [stderr] 306 | let max_bound = na::norm_squared(&proj); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/closest_points_internal/ball_against_ball.rs:23:28 [INFO] [stderr] | [INFO] [stderr] 23 | let distance_squared = na::norm_squared(&delta_pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::normalize': use `Matrix::normalize` or `Quaternion::normalize` instead [INFO] [stderr] --> src/query/closest_points_internal/ball_against_ball.rs:31:26 [INFO] [stderr] | [INFO] [stderr] 31 | let normal = na::normalize(&delta_pos); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | let a = na::norm_squared(dir1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | let e = na::norm_squared(dir2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | let f = na::dot(dir2, &r); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | let c = na::dot(dir1, &r); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/line_against_line.rs:40:21 [INFO] [stderr] | [INFO] [stderr] 40 | let b = na::dot(dir1, dir2); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/plane_against_support_map.rs:25:20 [INFO] [stderr] | [INFO] [stderr] 25 | let distance = na::dot(&*plane_normal, &(plane_center - deepest)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:59:13 [INFO] [stderr] | [INFO] [stderr] 59 | let a = na::norm_squared(&d1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | let e = na::norm_squared(&d2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | let f = na::dot(&d2, &r); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | let c = na::dot(&d1, &r); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/closest_points_internal/segment_against_segment.rs:82:21 [INFO] [stderr] | [INFO] [stderr] 82 | let b = na::dot(&d1, &d2); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/contacts_internal/ball_against_ball.rs:18:28 [INFO] [stderr] | [INFO] [stderr] 18 | let distance_squared = na::norm_squared(&delta_pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/contacts_internal/plane_against_support_map.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | let distance = na::dot(&*plane_normal, &(plane_center - deepest)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/distance_internal/ball_against_ball.rs:16:28 [INFO] [stderr] | [INFO] [stderr] 16 | let distance_squared = na::norm_squared(&delta_pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/distance_internal/plane_against_support_map.rs:17:20 [INFO] [stderr] | [INFO] [stderr] 17 | let distance = na::dot(&*plane_normal, &(plane_center - deepest)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/proximity_internal/ball_against_ball.rs:23:28 [INFO] [stderr] | [INFO] [stderr] 23 | let distance_squared = na::norm_squared(&delta_pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/proximity_internal/plane_against_support_map.rs:25:20 [INFO] [stderr] | [INFO] [stderr] 25 | let distance = na::dot(&*plane_normal, &(plane_center - deepest)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/ray_internal/ray_plane.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | let denom = na::dot(plane_normal, line_dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/ray_internal/ray_plane.rs:21:14 [INFO] [stderr] | [INFO] [stderr] 21 | Some(na::dot(plane_normal, &dpos) / denom) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | let a = na::norm_squared(&ray.dir); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | let b = na::dot(&dcenter, &ray.dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | let c = na::norm_squared(&dcenter) - radius * radius; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::normalize': use `Matrix::normalize` or `Quaternion::normalize` instead [INFO] [stderr] --> src/query/ray_internal/ray_aabb.rs:182:30 [INFO] [stderr] | [INFO] [stderr] 182 | Some((tmax, -na::normalize(&ray.dir), far_side)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::normalize': use `Matrix::normalize` or `Quaternion::normalize` instead [INFO] [stderr] --> src/query/ray_internal/ray_aabb.rs:197:26 [INFO] [stderr] | [INFO] [stderr] 197 | Some((tmin, -na::normalize(&ray.dir), near_side)) [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::normalize': use `Matrix::normalize` or `Quaternion::normalize` instead [INFO] [stderr] --> src/query/ray_internal/ray_support_map.rs:35:32 [INFO] [stderr] | [INFO] [stderr] 35 | let ndir = na::normalize(&ray.dir); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/ray_internal/ray_support_map.rs:37:33 [INFO] [stderr] | [INFO] [stderr] 37 | let shift = na::dot(&(supp - ray.origin), &ndir) + na::convert(0.001f64); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/transformation/convex_hull_utils.rs:18:19 [INFO] [stderr] | [INFO] [stderr] 18 | let dot = na::dot(direction, &pt.coordinates()); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/transformation/convex_hull_utils.rs:40:19 [INFO] [stderr] | [INFO] [stderr] 40 | let dot = na::dot(direction, &points[*i].coordinates()); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/transformation/convex_hull2.rs:102:13 [INFO] [stderr] | [INFO] [stderr] 102 | if !na::norm_squared(&p1p2).is_zero() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/utils/triangle.rs:41:14 [INFO] [stderr] | [INFO] [stderr] 41 | let na = na::norm_squared(&a); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/utils/triangle.rs:42:14 [INFO] [stderr] | [INFO] [stderr] 42 | let nb = na::norm_squared(&b); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/triangle.rs:44:15 [INFO] [stderr] | [INFO] [stderr] 44 | let dab = na::dot(&a, &b); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/utils/triangle.rs:53:18 [INFO] [stderr] | [INFO] [stderr] 53 | let nc = na::norm_squared(&c); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/triangle.rs:68:33 [INFO] [stderr] | [INFO] [stderr] 68 | let center = *pc + (a * na::dot(&k, &b) - b * na::dot(&k, &a)) / denom; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/triangle.rs:68:55 [INFO] [stderr] | [INFO] [stderr] 68 | let center = *pc + (a * na::dot(&k, &b) - b * na::dot(&k, &a)) / denom; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/triangle.rs:111:15 [INFO] [stderr] | [INFO] [stderr] 111 | let d11 = na::dot(&p1p, &p1p2); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/triangle.rs:112:15 [INFO] [stderr] | [INFO] [stderr] 112 | let d12 = na::dot(&p2p, &p2p3); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/triangle.rs:113:15 [INFO] [stderr] | [INFO] [stderr] 113 | let d13 = na::dot(&p3p, &p3p1); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/utils/triangle.rs:115:33 [INFO] [stderr] | [INFO] [stderr] 115 | d11 >= na::zero() && d11 <= na::norm_squared(&p1p2) && d12 >= na::zero() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/utils/triangle.rs:116:19 [INFO] [stderr] | [INFO] [stderr] 116 | && d12 <= na::norm_squared(&p2p3) && d13 >= na::zero() && d13 <= na::norm_squared(&p3p1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/utils/triangle.rs:116:74 [INFO] [stderr] | [INFO] [stderr] 116 | && d12 <= na::norm_squared(&p2p3) && d13 >= na::zero() && d13 <= na::norm_squared(&p3p1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/point_cloud_support_point.rs:8:24 [INFO] [stderr] | [INFO] [stderr] 8 | let mut best_dot = na::dot(&points[0].coords, dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/utils/point_cloud_support_point.rs:12:19 [INFO] [stderr] | [INFO] [stderr] 12 | let dot = na::dot(&p.coords, dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/shape/shape.rs:27:44 [INFO] [stderr] | [INFO] [stderr] 27 | BoundingSphere::new(aabb.center(), na::norm_squared(&aabb.half_extents())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/bounding_volume/bounding_sphere.rs:64:32 [INFO] [stderr] | [INFO] [stderr] 64 | let distance_squared = na::norm_squared(&delta_pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm': use `Matrix::norm` or `Quaternion::norm` instead [INFO] [stderr] --> src/bounding_volume/bounding_sphere.rs:73:24 [INFO] [stderr] | [INFO] [stderr] 73 | let distance = na::norm(&delta_pos); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/bounding_sphere.rs:88:32 [INFO] [stderr] | [INFO] [stderr] 88 | let s_center_dir = na::dot(&self.center.coords, &dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/bounding_sphere.rs:89:32 [INFO] [stderr] | [INFO] [stderr] 89 | let o_center_dir = na::dot(&other.center.coords, &dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm': use `Matrix::norm` or `Quaternion::norm` instead [INFO] [stderr] --> src/bounding_volume/bounding_sphere_cuboid.rs:10:22 [INFO] [stderr] | [INFO] [stderr] 10 | let radius = na::norm(self.half_extents()); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:97:17 [INFO] [stderr] | [INFO] [stderr] 97 | na::dot(generator.as_ref(), dir.as_ref()) <= na::zero() [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | na::dot(normal.as_ref(), dir.as_ref()) >= na::zero() [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:103:17 [INFO] [stderr] | [INFO] [stderr] 103 | na::dot(normal.as_ref(), dir.as_ref()).abs() >= N::one() - c_eps [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:107:24 [INFO] [stderr] | [INFO] [stderr] 107 | if na::dot(g.as_ref(), dir.as_ref()) > na::zero() { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:125:17 [INFO] [stderr] | [INFO] [stderr] 125 | na::dot(generator.as_ref(), dir.as_ref()) >= N::one() - c_eps [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:128:17 [INFO] [stderr] | [INFO] [stderr] 128 | na::dot(normal.as_ref(), dir.as_ref()) <= na::zero() [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/bounding_volume/polyhedral_cone.rs:131:17 [INFO] [stderr] | [INFO] [stderr] 131 | na::dot(normal.as_ref(), dir.as_ref()).abs() <= c_eps [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:146:17 [INFO] [stderr] | [INFO] [stderr] 146 | na::dot(&(*seg1.a() - ref_pt), &ortho), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:147:17 [INFO] [stderr] | [INFO] [stderr] 147 | na::dot(&(*seg1.b() - ref_pt), &ortho), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | na::dot(&(*seg2.a() - ref_pt), &ortho), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:151:17 [INFO] [stderr] | [INFO] [stderr] 151 | na::dot(&(*seg2.b() - ref_pt), &ortho), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_ball_manifold_generator.rs:49:24 [INFO] [stderr] | [INFO] [stderr] 49 | let dist = na::dot(&(ball_center - plane_center), plane_normal.as_ref()); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_convex_polyhedron_manifold_generator.rs:51:28 [INFO] [stderr] | [INFO] [stderr] 51 | let dist = na::dot(&dpt, plane_normal.as_ref()); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:212:29 [INFO] [stderr] | [INFO] [stderr] 212 | let dist1 = na::dot( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:220:29 [INFO] [stderr] | [INFO] [stderr] 220 | let dist2 = na::dot( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:228:29 [INFO] [stderr] | [INFO] [stderr] 228 | let dist3 = na::dot( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:251:25 [INFO] [stderr] | [INFO] [stderr] 251 | let dist1 = na::dot( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:255:25 [INFO] [stderr] | [INFO] [stderr] 255 | let dist2 = na::dot( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:283:38 [INFO] [stderr] | [INFO] [stderr] 283 | let candidate_max_dist = na::dot(&cso_point.point.coords, &face.normal); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/algorithms/epa2.rs:308:32 [INFO] [stderr] | [INFO] [stderr] 308 | let dist = na::dot(f.0.normal.as_ref(), &f.0.proj.coords); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:205:24 [INFO] [stderr] | [INFO] [stderr] 205 | let norm = na::norm_squared(&self.vertices[i].point.coords); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/contacts_internal/contact.rs:38:22 [INFO] [stderr] | [INFO] [stderr] 38 | let depth = -na::dot(normal.as_ref(), &(world2 - world1)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:309:26 [INFO] [stderr] | [INFO] [stderr] 309 | depth = -na::dot(normal.as_ref(), &(world2 - world1)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:314:26 [INFO] [stderr] | [INFO] [stderr] 314 | depth = -na::dot(&*world_normal2, &(world1 - world2)); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:341:28 [INFO] [stderr] | [INFO] [stderr] 341 | let proj = na::dot(world_dir1.as_ref(), &shift); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:366:28 [INFO] [stderr] | [INFO] [stderr] 366 | let proj = na::dot(world_dir2.as_ref(), &shift); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_plane.rs:11:17 [INFO] [stderr] | [INFO] [stderr] 11 | let d = na::dot(self.normal().as_ref(), &ls_pt.coords); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_plane.rs:30:20 [INFO] [stderr] | [INFO] [stderr] 30 | let dist = na::dot(self.normal().as_ref(), &ls_pt.coords); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_plane.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | na::dot(self.normal().as_ref(), &ls_pt.coords) <= na::zero() [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_ball.rs:13:32 [INFO] [stderr] | [INFO] [stderr] 13 | let distance_squared = na::norm_squared(&ls_pt.coords); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm': use `Matrix::norm` or `Quaternion::norm` instead [INFO] [stderr] --> src/query/point_internal/point_ball.rs:33:20 [INFO] [stderr] | [INFO] [stderr] 33 | let dist = na::norm(&m.inverse_transform_point(pt).coords) - self.radius(); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_ball.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | na::norm_squared(&m.inverse_transform_point(pt).coords) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm': use `Matrix::norm` or `Quaternion::norm` instead [INFO] [stderr] --> src/query/point_internal/point_aabb.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | na::norm(&shift) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_segment.rs:58:21 [INFO] [stderr] | [INFO] [stderr] 58 | let ab_ap = na::dot(&ab, &ap); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_segment.rs:59:21 [INFO] [stderr] | [INFO] [stderr] 59 | let sqnab = na::norm_squared(&ab); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:80:21 [INFO] [stderr] | [INFO] [stderr] 80 | let ab_ap = na::dot(&ab, &ap); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:81:21 [INFO] [stderr] | [INFO] [stderr] 81 | let ac_ap = na::dot(&ac, &ap); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:92:21 [INFO] [stderr] | [INFO] [stderr] 92 | let ab_bp = na::dot(&ab, &bp); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:93:21 [INFO] [stderr] | [INFO] [stderr] 93 | let ac_bp = na::dot(&ac, &bp); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:104:21 [INFO] [stderr] | [INFO] [stderr] 104 | let ab_cp = na::dot(&ab, &cp); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | let ac_cp = na::dot(&ac, &cp); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:198:33 [INFO] [stderr] | [INFO] [stderr] 198 | let v = ab_ap / na::norm_squared(&ab); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:209:33 [INFO] [stderr] | [INFO] [stderr] 209 | let w = ac_ap / na::norm_squared(&ac); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:220:25 [INFO] [stderr] | [INFO] [stderr] 220 | let w = na::dot(&bc, &bp) / na::norm_squared(&bc); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:220:45 [INFO] [stderr] | [INFO] [stderr] 220 | let w = na::dot(&bc, &bp) / na::norm_squared(&bc); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:264:24 [INFO] [stderr] | [INFO] [stderr] 264 | let d_ab = na::norm_squared(&ap) - (na::norm_squared(&ab) * v * v); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:264:49 [INFO] [stderr] | [INFO] [stderr] 264 | let d_ab = na::norm_squared(&ap) - (na::norm_squared(&ab) * v * v); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:265:24 [INFO] [stderr] | [INFO] [stderr] 265 | let d_ac = na::norm_squared(&ap) - (na::norm_squared(&ac) * u * u); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:265:49 [INFO] [stderr] | [INFO] [stderr] 265 | let d_ac = na::norm_squared(&ap) - (na::norm_squared(&ac) * u * u); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:266:24 [INFO] [stderr] | [INFO] [stderr] 266 | let d_bc = na::norm_squared(&bp) - (na::norm_squared(&bc) * w * w); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm_squared': use `Matrix::norm_squared` or `Quaternion::norm_squared` instead [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:266:49 [INFO] [stderr] | [INFO] [stderr] 266 | let d_bc = na::norm_squared(&bp) - (na::norm_squared(&bc) * w * w); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/ray_internal/ray_plane.rs:53:31 [INFO] [stderr] | [INFO] [stderr] 53 | let dot_normal_dpos = na::dot(self.normal().as_ref(), &dpos.coords); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/query/ray_internal/ray_plane.rs:60:35 [INFO] [stderr] | [INFO] [stderr] 60 | let t = dot_normal_dpos / na::dot(self.normal().as_ref(), &ls_ray.dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::normalize': use `Matrix::normalize` or `Quaternion::normalize` instead [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:42:26 [INFO] [stderr] | [INFO] [stderr] 42 | let normal = na::normalize(&pos); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/convex_polygon.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 47 | if na::dot(&*normals[0], &*normals[normals.len() - 1]) > N::one() - eps { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/convex_polygon.rs:55:16 [INFO] [stderr] | [INFO] [stderr] 55 | if na::dot(&*normals[i1], &*normals[i2]) > N::one() - eps { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/convex_polygon.rs:138:27 [INFO] [stderr] | [INFO] [stderr] 138 | let mut max_dot = na::dot(&*self.normals[0], &ls_dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/convex_polygon.rs:141:23 [INFO] [stderr] | [INFO] [stderr] 141 | let dot = na::dot(&*self.normals[i], &ls_dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/convex_polygon.rs:173:16 [INFO] [stderr] | [INFO] [stderr] 173 | if na::dot(normal.as_ref(), local_dir.as_ref()) >= ceps { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::norm': use `Matrix::norm` or `Quaternion::norm` instead [INFO] [stderr] --> src/shape/segment.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | na::norm(&self.scaled_direction()) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/segment.rs:104:12 [INFO] [stderr] | [INFO] [stderr] 104 | if na::dot(&self.a.coords, &local_dir) > na::dot(&self.b.coords, &local_dir) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/segment.rs:104:50 [INFO] [stderr] | [INFO] [stderr] 104 | if na::dot(&self.a.coords, &local_dir) > na::dot(&self.b.coords, &local_dir) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/segment.rs:234:23 [INFO] [stderr] | [INFO] [stderr] 234 | let dot = na::dot(seg_dir.as_ref(), local_dir.as_ref()); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/triangle.rs:113:18 [INFO] [stderr] | [INFO] [stderr] 113 | let d1 = na::dot(&self.a().coords, &local_dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/triangle.rs:114:18 [INFO] [stderr] | [INFO] [stderr] 114 | let d2 = na::dot(&self.b().coords, &local_dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/shape/triangle.rs:115:18 [INFO] [stderr] | [INFO] [stderr] 115 | let d3 = na::dot(&self.c().coords, &local_dir); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/transformation/convex_hull2.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | na::dot(&(*pt - *p0), &self.normal) > _eps * na::convert(100.0f64) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/aabb_cuboid.rs:11:22 [INFO] [stderr] | [INFO] [stderr] 11 | let center = Point::from_coordinates(m.translation.to_vector()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/aabb_ball.rs:20:14 [INFO] [stderr] | [INFO] [stderr] 20 | &Point::from_coordinates(m.translation.to_vector()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/aabb_utils.rs:28:15 [INFO] [stderr] | [INFO] [stderr] 28 | AABB::new(Point::from_coordinates(min), Point::from_coordinates(max)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/aabb_utils.rs:28:45 [INFO] [stderr] | [INFO] [stderr] 28 | AABB::new(Point::from_coordinates(min), Point::from_coordinates(max)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/bounding_sphere_cuboid.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | let center = Point::from_coordinates(m.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/bounding_sphere_ball.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | let center = Point::from_coordinates(m.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/bounding_sphere_capsule.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | let center = Point::from_coordinates(m.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/bounding_sphere_plane.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | let center = Point::from_coordinates(m.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/aabb_cuboid.rs:11:22 [INFO] [stderr] | [INFO] [stderr] 11 | let center = Point::from_coordinates(m.translation.to_vector()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/aabb_ball.rs:20:14 [INFO] [stderr] | [INFO] [stderr] 20 | &Point::from_coordinates(m.translation.to_vector()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/aabb_utils.rs:28:15 [INFO] [stderr] | [INFO] [stderr] 28 | AABB::new(Point::from_coordinates(min), Point::from_coordinates(max)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/aabb_utils.rs:28:45 [INFO] [stderr] | [INFO] [stderr] 28 | AABB::new(Point::from_coordinates(min), Point::from_coordinates(max)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/bounding_sphere_cuboid.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | let center = Point::from_coordinates(m.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/bounding_sphere_ball.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | let center = Point::from_coordinates(m.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/bounding_sphere_capsule.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | let center = Point::from_coordinates(m.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/bounding_volume/bounding_sphere_plane.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | let center = Point::from_coordinates(m.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_ball_manifold_generator.rs:51:28 [INFO] [stderr] | [INFO] [stderr] 51 | let center_a = Point::from_coordinates(ma.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_ball_manifold_generator.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | let center_b = Point::from_coordinates(mb.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_convex_polyhedron_manifold_generator.rs:51:31 [INFO] [stderr] | [INFO] [stderr] 51 | let ball_center = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_convex_polyhedron_manifold_generator.rs:71:55 [INFO] [stderr] | [INFO] [stderr] 71 | let world1 = ball_center + normal.unwrap() * ball.radius(); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_ball_manifold_generator.rs:46:32 [INFO] [stderr] | [INFO] [stderr] 46 | let plane_center = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_ball_manifold_generator.rs:48:31 [INFO] [stderr] | [INFO] [stderr] 48 | let ball_center = Point::from_coordinates(m2.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_convex_polyhedron_manifold_generator.rs:45:32 [INFO] [stderr] | [INFO] [stderr] 45 | let plane_center = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_ball_manifold_generator.rs:51:28 [INFO] [stderr] | [INFO] [stderr] 51 | let center_a = Point::from_coordinates(ma.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_ball_manifold_generator.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | let center_b = Point::from_coordinates(mb.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_convex_polyhedron_manifold_generator.rs:51:31 [INFO] [stderr] | [INFO] [stderr] 51 | let ball_center = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_convex_polyhedron_manifold_generator.rs:71:55 [INFO] [stderr] | [INFO] [stderr] 71 | let world1 = ball_center + normal.unwrap() * ball.radius(); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_ball_manifold_generator.rs:46:32 [INFO] [stderr] | [INFO] [stderr] 46 | let plane_center = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_ball_manifold_generator.rs:48:31 [INFO] [stderr] | [INFO] [stderr] 48 | let ball_center = Point::from_coordinates(m2.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_convex_polyhedron_manifold_generator.rs:45:32 [INFO] [stderr] | [INFO] [stderr] 45 | let plane_center = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/ball_ball_proximity_detector.rs:43:18 [INFO] [stderr] | [INFO] [stderr] 43 | &Point::from_coordinates(ma.translation.vector), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/ball_ball_proximity_detector.rs:45:18 [INFO] [stderr] | [INFO] [stderr] 45 | &Point::from_coordinates(mb.translation.vector), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/ball_ball_proximity_detector.rs:43:18 [INFO] [stderr] | [INFO] [stderr] 43 | &Point::from_coordinates(ma.translation.vector), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/ball_ball_proximity_detector.rs:45:18 [INFO] [stderr] | [INFO] [stderr] 45 | &Point::from_coordinates(mb.translation.vector), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/procedural/utils.rs:46:18 [INFO] [stderr] | [INFO] [stderr] 46 | out.push(Point::from_coordinates(pt_coords)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/procedural/utils.rs:46:18 [INFO] [stderr] | [INFO] [stderr] 46 | out.push(Point::from_coordinates(pt_coords)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/algorithms/cso_point.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | let point = Point::from_coordinates(orig1 - orig2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/algorithms/cso_point.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | let point = Point::from_coordinates(orig1 - orig2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/closest_points_internal/plane_against_support_map.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | let plane_center = Point::from_coordinates(mplane.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/closest_points_internal/plane_against_support_map.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | let plane_center = Point::from_coordinates(mplane.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/closest_points_internal/shape_against_shape.rs:22:18 [INFO] [stderr] | [INFO] [stderr] 22 | let p1 = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/closest_points_internal/shape_against_shape.rs:23:18 [INFO] [stderr] | [INFO] [stderr] 23 | let p2 = Point::from_coordinates(m2.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/closest_points_internal/shape_against_shape.rs:22:18 [INFO] [stderr] | [INFO] [stderr] 22 | let p1 = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/closest_points_internal/shape_against_shape.rs:23:18 [INFO] [stderr] | [INFO] [stderr] 23 | let p2 = Point::from_coordinates(m2.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:342:31 [INFO] [stderr] | [INFO] [stderr] 342 | shift -= dir1.unwrap() * proj; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:367:31 [INFO] [stderr] | [INFO] [stderr] 367 | shift -= dir2.unwrap() * proj; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:427:26 [INFO] [stderr] | [INFO] [stderr] 427 | world1 += normal.unwrap() * self.margin1; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:428:26 [INFO] [stderr] | [INFO] [stderr] 428 | world2 += normal.unwrap() * (-self.margin2); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:342:31 [INFO] [stderr] | [INFO] [stderr] 342 | shift -= dir1.unwrap() * proj; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:367:31 [INFO] [stderr] | [INFO] [stderr] 367 | shift -= dir2.unwrap() * proj; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:427:26 [INFO] [stderr] | [INFO] [stderr] 427 | world1 += normal.unwrap() * self.margin1; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:428:26 [INFO] [stderr] | [INFO] [stderr] 428 | world2 += normal.unwrap() * (-self.margin2); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/contacts_internal/plane_against_support_map.rs:15:24 [INFO] [stderr] | [INFO] [stderr] 15 | let plane_center = Point::from_coordinates(mplane.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/contacts_internal/shape_against_shape.rs:19:18 [INFO] [stderr] | [INFO] [stderr] 19 | let p1 = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/contacts_internal/shape_against_shape.rs:20:18 [INFO] [stderr] | [INFO] [stderr] 20 | let p2 = Point::from_coordinates(m2.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/contacts_internal/plane_against_support_map.rs:15:24 [INFO] [stderr] | [INFO] [stderr] 15 | let plane_center = Point::from_coordinates(mplane.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/contacts_internal/shape_against_shape.rs:19:18 [INFO] [stderr] | [INFO] [stderr] 19 | let p1 = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/contacts_internal/shape_against_shape.rs:20:18 [INFO] [stderr] | [INFO] [stderr] 20 | let p2 = Point::from_coordinates(m2.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/distance_internal/plane_against_support_map.rs:14:24 [INFO] [stderr] | [INFO] [stderr] 14 | let plane_center = Point::from_coordinates(mplane.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/distance_internal/shape_against_shape.rs:14:18 [INFO] [stderr] | [INFO] [stderr] 14 | let p1 = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/distance_internal/shape_against_shape.rs:15:18 [INFO] [stderr] | [INFO] [stderr] 15 | let p2 = Point::from_coordinates(m2.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/distance_internal/plane_against_support_map.rs:14:24 [INFO] [stderr] | [INFO] [stderr] 14 | let plane_center = Point::from_coordinates(mplane.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/distance_internal/shape_against_shape.rs:14:18 [INFO] [stderr] | [INFO] [stderr] 14 | let p1 = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/distance_internal/shape_against_shape.rs:15:18 [INFO] [stderr] | [INFO] [stderr] 15 | let p2 = Point::from_coordinates(m2.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/query/point_internal/point_capsule.rs:20:63 [INFO] [stderr] | [INFO] [stderr] 20 | PointProjection::new(inside, proj.point + dir.unwrap() * self.radius()) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/query/point_internal/point_capsule.rs:20:63 [INFO] [stderr] | [INFO] [stderr] 20 | PointProjection::new(inside, proj.point + dir.unwrap() * self.radius()) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_vector': Use `::from` instead. [INFO] [stderr] --> src/query/point_internal/point_support_map.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | let m = Translation::from_vector(-point.coords) * m; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_vector': Use `::from` instead. [INFO] [stderr] --> src/query/point_internal/point_support_map.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | let m = Translation::from_vector(-point.coords) * m; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/proximity_internal/plane_against_support_map.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | let plane_center = Point::from_coordinates(mplane.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/proximity_internal/shape_against_shape.rs:20:18 [INFO] [stderr] | [INFO] [stderr] 20 | let p1 = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/proximity_internal/shape_against_shape.rs:21:18 [INFO] [stderr] | [INFO] [stderr] 21 | let p2 = Point::from_coordinates(m2.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/proximity_internal/plane_against_support_map.rs:22:24 [INFO] [stderr] | [INFO] [stderr] 22 | let plane_center = Point::from_coordinates(mplane.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/proximity_internal/shape_against_shape.rs:20:18 [INFO] [stderr] | [INFO] [stderr] 20 | let p1 = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/proximity_internal/shape_against_shape.rs:21:18 [INFO] [stderr] | [INFO] [stderr] 21 | let p2 = Point::from_coordinates(m2.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:27:28 [INFO] [stderr] | [INFO] [stderr] 27 | ball_toi_with_ray(&Point::from_coordinates(m.translation.vector), self.radius(), ray, solid).1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:37:22 [INFO] [stderr] | [INFO] [stderr] 37 | let center = Point::from_coordinates(m.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:27:28 [INFO] [stderr] | [INFO] [stderr] 27 | ball_toi_with_ray(&Point::from_coordinates(m.translation.vector), self.radius(), ray, solid).1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/ray_internal/ray_ball.rs:37:22 [INFO] [stderr] | [INFO] [stderr] 37 | let center = Point::from_coordinates(m.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/ray_internal/ray_cuboid.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | let dl = Point::from_coordinates(-*self.half_extents()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/ray_internal/ray_cuboid.rs:11:18 [INFO] [stderr] | [INFO] [stderr] 11 | let ur = Point::from_coordinates(*self.half_extents()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/ray_internal/ray_cuboid.rs:22:18 [INFO] [stderr] | [INFO] [stderr] 22 | let dl = Point::from_coordinates(-*self.half_extents()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/ray_internal/ray_cuboid.rs:23:18 [INFO] [stderr] | [INFO] [stderr] 23 | let ur = Point::from_coordinates(*self.half_extents()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/ray_internal/ray_cuboid.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | let dl = Point::from_coordinates(-*self.half_extents()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/ray_internal/ray_cuboid.rs:11:18 [INFO] [stderr] | [INFO] [stderr] 11 | let ur = Point::from_coordinates(*self.half_extents()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/ray_internal/ray_cuboid.rs:22:18 [INFO] [stderr] | [INFO] [stderr] 22 | let dl = Point::from_coordinates(-*self.half_extents()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/ray_internal/ray_cuboid.rs:23:18 [INFO] [stderr] | [INFO] [stderr] 23 | let ur = Point::from_coordinates(*self.half_extents()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/time_of_impact_internal/shape_against_shape.rs:19:18 [INFO] [stderr] | [INFO] [stderr] 19 | let p1 = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/time_of_impact_internal/shape_against_shape.rs:20:18 [INFO] [stderr] | [INFO] [stderr] 20 | let p2 = Point::from_coordinates(m2.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/time_of_impact_internal/shape_against_shape.rs:19:18 [INFO] [stderr] | [INFO] [stderr] 19 | let p1 = Point::from_coordinates(m1.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/query/time_of_impact_internal/shape_against_shape.rs:20:18 [INFO] [stderr] | [INFO] [stderr] 20 | let p2 = Point::from_coordinates(m2.translation.vector); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/shape/capsule.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | m * Point::from_coordinates(res + local_dir * self.radius()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/shape/capsule.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | m * Point::from_coordinates(res + local_dir * self.radius()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/shape/convex_polygonal_feature2.rs:93:38 [INFO] [stderr] | [INFO] [stderr] 93 | let proj = *pt + (-n.unwrap() * dist); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/shape/cuboid.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | m * Point::from_coordinates(res) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/shape/convex_polygonal_feature2.rs:93:38 [INFO] [stderr] | [INFO] [stderr] 93 | let proj = *pt + (-n.unwrap() * dist); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/shape/cuboid.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | Point::from_coordinates(res) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/shape/cuboid.rs:126:22 [INFO] [stderr] | [INFO] [stderr] 126 | let p1 = Point::from_coordinates(vertex); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/shape/cuboid.rs:128:22 [INFO] [stderr] | [INFO] [stderr] 128 | let p2 = Point::from_coordinates(vertex); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/shape/cuboid.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | m * Point::from_coordinates(res) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/shape/cuboid.rs:257:21 [INFO] [stderr] | [INFO] [stderr] 257 | m * Point::from_coordinates(support_point), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/shape/cuboid.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | Point::from_coordinates(res) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/shape/cuboid.rs:126:22 [INFO] [stderr] | [INFO] [stderr] 126 | let p1 = Point::from_coordinates(vertex); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/shape/cuboid.rs:128:22 [INFO] [stderr] | [INFO] [stderr] 128 | let p2 = Point::from_coordinates(vertex); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::from_coordinates': Use Point::from(vector) instead. [INFO] [stderr] --> src/shape/cuboid.rs:257:21 [INFO] [stderr] | [INFO] [stderr] 257 | m * Point::from_coordinates(support_point), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/utils/isometry_ops.rs:28:44 [INFO] [stderr] | [INFO] [stderr] 28 | self.rotation.to_rotation_matrix().unwrap().abs() * *v [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item '>::unwrap': use `.into_inner()` instead [INFO] [stderr] --> src/utils/isometry_ops.rs:28:44 [INFO] [stderr] | [INFO] [stderr] 28 | self.rotation.to_rotation_matrix().unwrap().abs() * *v [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `niter` is assigned to, but never used [INFO] [stderr] --> src/query/algorithms/gjk.rs:258:13 [INFO] [stderr] | [INFO] [stderr] 258 | let mut niter = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] = note: consider using `_niter` instead [INFO] [stderr] [INFO] [stderr] warning: variable `niter` is assigned to, but never used [INFO] [stderr] --> src/query/algorithms/gjk.rs:258:13 [INFO] [stderr] | [INFO] [stderr] 258 | let mut niter = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] = note: consider using `_niter` instead [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/bounding_volume/aabb.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | self.mins = self.mins + Vector::repeat(-amount); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.mins += Vector::repeat(-amount)` [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: manual implementation of an assign operation [INFO] [stderr] --> src/bounding_volume/aabb.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | self.maxs = self.maxs + Vector::repeat(amount); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.maxs += Vector::repeat(amount)` [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] --> src/bounding_volume/aabb.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | self.mins = self.mins + Vector::repeat(amount); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.mins += Vector::repeat(amount)` [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] --> src/bounding_volume/aabb.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | self.maxs = self.maxs + Vector::repeat(-amount); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.maxs += Vector::repeat(-amount)` [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] --> src/bounding_volume/bounding_sphere.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | self.radius = self.radius + amount [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.radius += amount` [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] --> src/bounding_volume/bounding_sphere.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | self.radius = self.radius - amount [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.radius -= amount` [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] --> src/partitioning/dbvt.rs:23:23 [INFO] [stderr] | [INFO] [stderr] 23 | 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: you should consider adding a `Default` implementation for `partitioning::dbvt::DBVT` [INFO] [stderr] --> src/partitioning/dbvt.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | / pub fn new() -> DBVT { [INFO] [stderr] 126 | | DBVT { [INFO] [stderr] 127 | | root: DBVTNodeId::Leaf(0), [INFO] [stderr] 128 | | leaves: Slab::new(), [INFO] [stderr] 129 | | internals: Slab::new(), [INFO] [stderr] 130 | | } [INFO] [stderr] 131 | | } [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] 123 | impl Default for partitioning::dbvt::DBVT { [INFO] [stderr] 124 | fn default() -> Self { [INFO] [stderr] 125 | Self::new() [INFO] [stderr] 126 | } [INFO] [stderr] 127 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/partitioning/bvt.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 44 | if leaves.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `leaves.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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/partitioning/bvt.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | / match self.tree { [INFO] [stderr] 59 | | Some(ref t) => t.visit(visitor), [INFO] [stderr] 60 | | None => {} [INFO] [stderr] 61 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(ref t) = self.tree { t.visit(visitor) }` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/partitioning/bvt.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | / match (&self.tree, &other.tree) { [INFO] [stderr] 67 | | (&Some(ref ta), &Some(ref tb)) => ta.visit_bvtt(tb, visitor), [INFO] [stderr] 68 | | _ => {} [INFO] [stderr] 69 | | } [INFO] [stderr] | |_________^ help: try this: `if let (&Some(ref ta), &Some(ref tb)) = (&self.tree, &other.tree) { ta.visit_bvtt(tb, visitor) }` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/partitioning/bvt.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / pub fn root_bounding_volume<'r>(&'r self) -> Option<&'r BV> { [INFO] [stderr] 93 | | match self.tree { [INFO] [stderr] 94 | | Some(ref n) => match *n { [INFO] [stderr] 95 | | BVTNode::Internal(ref bv, _, _) => Some(bv), [INFO] [stderr] ... | [INFO] [stderr] 99 | | } [INFO] [stderr] 100 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/partitioning/bvt.rs:131:12 [INFO] [stderr] | [INFO] [stderr] 131 | if leaves.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `leaves.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: length comparison to zero [INFO] [stderr] --> src/partitioning/bvt.rs:171:16 [INFO] [stderr] | [INFO] [stderr] 171 | if left.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `left.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: length comparison to zero [INFO] [stderr] --> src/partitioning/bvt.rs:173:23 [INFO] [stderr] | [INFO] [stderr] 173 | } else if right.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `right.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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/partitioning/bvt.rs:214:5 [INFO] [stderr] | [INFO] [stderr] 214 | / pub fn bounding_volume<'a>(&'a self) -> &'a BV { [INFO] [stderr] 215 | | match *self { [INFO] [stderr] 216 | | BVTNode::Internal(ref bv, _, _) => bv, [INFO] [stderr] 217 | | BVTNode::Leaf(ref bv, _) => bv, [INFO] [stderr] 218 | | } [INFO] [stderr] 219 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/partitioning/bvt.rs:283:9 [INFO] [stderr] | [INFO] [stderr] 283 | / loop { [INFO] [stderr] 284 | | match queue.pop() { [INFO] [stderr] 285 | | Some(node) => { [INFO] [stderr] 286 | | if -node.cost >= best_cost { [INFO] [stderr] ... | [INFO] [stderr] 322 | | } [INFO] [stderr] 323 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(node) = queue.pop() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/partitioning/bvt.rs:292:29 [INFO] [stderr] | [INFO] [stderr] 292 | / match algorithm.compute_bv_cost(left.bounding_volume()) { [INFO] [stderr] 293 | | Some(lcost) => { [INFO] [stderr] 294 | | if lcost < best_cost { [INFO] [stderr] 295 | | queue.push(RefWithCost::new(&**left, -lcost)) [INFO] [stderr] ... | [INFO] [stderr] 298 | | None => {} [INFO] [stderr] 299 | | } [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 292 | if let Some(lcost) = algorithm.compute_bv_cost(left.bounding_volume()) { [INFO] [stderr] 293 | if lcost < best_cost { [INFO] [stderr] 294 | queue.push(RefWithCost::new(&**left, -lcost)) [INFO] [stderr] 295 | } [INFO] [stderr] 296 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/partitioning/bvt.rs:301:29 [INFO] [stderr] | [INFO] [stderr] 301 | / match algorithm.compute_bv_cost(right.bounding_volume()) { [INFO] [stderr] 302 | | Some(rcost) => { [INFO] [stderr] 303 | | if rcost < best_cost { [INFO] [stderr] 304 | | queue.push(RefWithCost::new(&**right, -rcost)) [INFO] [stderr] ... | [INFO] [stderr] 307 | | None => {} [INFO] [stderr] 308 | | } [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 301 | if let Some(rcost) = algorithm.compute_bv_cost(right.bounding_volume()) { [INFO] [stderr] 302 | if rcost < best_cost { [INFO] [stderr] 303 | queue.push(RefWithCost::new(&**right, -rcost)) [INFO] [stderr] 304 | } [INFO] [stderr] 305 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/partitioning/bvt.rs:310:52 [INFO] [stderr] | [INFO] [stderr] 310 | BVTNode::Leaf(_, ref b) => match algorithm.compute_b_cost(b) { [INFO] [stderr] | ____________________________________________________^ [INFO] [stderr] 311 | | Some((candidate_cost, candidate_result)) => { [INFO] [stderr] 312 | | if candidate_cost < best_cost { [INFO] [stderr] 313 | | best_cost = candidate_cost; [INFO] [stderr] ... | [INFO] [stderr] 317 | | None => {} [INFO] [stderr] 318 | | }, [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 310 | BVTNode::Leaf(_, ref b) => if let Some((candidate_cost, candidate_result)) = algorithm.compute_b_cost(b) { [INFO] [stderr] 311 | if candidate_cost < best_cost { [INFO] [stderr] 312 | best_cost = candidate_cost; [INFO] [stderr] 313 | result = Some((b, candidate_result)); [INFO] [stderr] 314 | } [INFO] [stderr] 315 | }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/pipeline/broad_phase/broad_phase.rs:17:23 [INFO] [stderr] | [INFO] [stderr] 17 | pub 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] --> src/pipeline/broad_phase/broad_phase.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | 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 `pipeline::broad_phase::broad_phase_pair_filter::BroadPhasePairFilters` [INFO] [stderr] --> src/pipeline/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] --> src/pipeline/broad_phase/dbvt_broad_phase.rs:222:35 [INFO] [stderr] | [INFO] [stderr] 222 | let some_leaves_updated = self.leaves_to_update.len() != 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.leaves_to_update.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] --> src/pipeline/broad_phase/dbvt_broad_phase.rs:292:26 [INFO] [stderr] | [INFO] [stderr] 292 | 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] 292 | for pair in self.pairs.keys() { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/contact_manifold_generator.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / fn update( [INFO] [stderr] 14 | | &mut self, [INFO] [stderr] 15 | | dispatcher: &ContactDispatcher, [INFO] [stderr] 16 | | ida: usize, [INFO] [stderr] ... | [INFO] [stderr] 23 | | id_alloc: &mut IdAllocator, [INFO] [stderr] 24 | | ) -> bool; [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 deriving a `Default` implementation for `pipeline::narrow_phase::contact_generator::default_contact_dispatcher::DefaultContactDispatcher` [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/default_contact_dispatcher.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> DefaultContactDispatcher { [INFO] [stderr] 19 | | DefaultContactDispatcher { [INFO] [stderr] 20 | | } [INFO] [stderr] 21 | | } [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 adding a `Default` implementation for `pipeline::narrow_phase::contact_generator::ball_ball_manifold_generator::BallBallManifoldGenerator` [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_ball_manifold_generator.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn new() -> BallBallManifoldGenerator { [INFO] [stderr] 27 | | BallBallManifoldGenerator { [INFO] [stderr] 28 | | manifold: ContactManifold::new(), [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] 23 | impl Default for pipeline::narrow_phase::contact_generator::ball_ball_manifold_generator::BallBallManifoldGenerator { [INFO] [stderr] 24 | fn default() -> Self { [INFO] [stderr] 25 | Self::new() [INFO] [stderr] 26 | } [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_convex_polyhedron_manifold_generator.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | / fn do_update( [INFO] [stderr] 35 | | &mut self, [INFO] [stderr] 36 | | m1: &Isometry, [INFO] [stderr] 37 | | a: &Shape, [INFO] [stderr] ... | [INFO] [stderr] 126 | | } [INFO] [stderr] 127 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_convex_polyhedron_manifold_generator.rs:58:17 [INFO] [stderr] | [INFO] [stderr] 58 | / let normal; [INFO] [stderr] 59 | | [INFO] [stderr] 60 | | if proj.is_inside { [INFO] [stderr] 61 | | depth = dist + ball.radius(); [INFO] [stderr] ... | [INFO] [stderr] 65 | | normal = dir; [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let normal = if proj.is_inside { ..; -dir } else { ..; dir };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `pipeline::narrow_phase::contact_generator::convex_polyhedron_convex_polyhedron_manifold_generator::ConvexPolyhedronConvexPolyhedronManifoldGenerator` [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | / pub fn new() -> ConvexPolyhedronConvexPolyhedronManifoldGenerator { [INFO] [stderr] 60 | | ConvexPolyhedronConvexPolyhedronManifoldGenerator { [INFO] [stderr] 61 | | simplex: VoronoiSimplex::new(), [INFO] [stderr] 62 | | last_gjk_dir: None, [INFO] [stderr] ... | [INFO] [stderr] 69 | | } [INFO] [stderr] 70 | | } [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] 57 | impl Default for pipeline::narrow_phase::contact_generator::convex_polyhedron_convex_polyhedron_manifold_generator::ConvexPolyhedronConvexPolyhedronManifoldGenerator { [INFO] [stderr] 58 | fn default() -> Self { [INFO] [stderr] 59 | Self::new() [INFO] [stderr] 60 | } [INFO] [stderr] 61 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:397:24 [INFO] [stderr] | [INFO] [stderr] 397 | if self.new_contacts.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.new_contacts.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: this function has too many arguments (8/7) [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_ball_manifold_generator.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | / fn do_update( [INFO] [stderr] 30 | | &mut self, [INFO] [stderr] 31 | | m1: &Isometry, [INFO] [stderr] 32 | | g1: &Shape, [INFO] [stderr] ... | [INFO] [stderr] 82 | | } [INFO] [stderr] 83 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: this function has too many arguments (8/7) [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_convex_polyhedron_manifold_generator.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / fn do_update( [INFO] [stderr] 31 | | &mut self, [INFO] [stderr] 32 | | m1: &Isometry, [INFO] [stderr] 33 | | g1: &Shape, [INFO] [stderr] ... | [INFO] [stderr] 79 | | } [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: this function has too many arguments (11/7) [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/composite_shape_shape_manifold_generator.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | / fn do_update( [INFO] [stderr] 35 | | &mut self, [INFO] [stderr] 36 | | dispatcher: &ContactDispatcher, [INFO] [stderr] 37 | | id1: usize, [INFO] [stderr] ... | [INFO] [stderr] 124 | | } [INFO] [stderr] 125 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/composite_shape_shape_manifold_generator.rs:48:39 [INFO] [stderr] | [INFO] [stderr] 48 | let ls_m2 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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: manual implementation of an assign operation [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/composite_shape_shape_manifold_generator.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | res = res + detector.1.num_contacts() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += detector.1.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: manual implementation of an assign operation [INFO] [stderr] --> src/bounding_volume/aabb.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | self.mins = self.mins + Vector::repeat(-amount); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.mins += Vector::repeat(-amount)` [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: manual implementation of an assign operation [INFO] [stderr] --> src/pipeline/narrow_phase/narrow_phase.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | 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: manual implementation of an assign operation [INFO] [stderr] --> src/bounding_volume/aabb.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | self.maxs = self.maxs + Vector::repeat(amount); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.maxs += Vector::repeat(amount)` [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 `pipeline::narrow_phase::proximity_detector::ball_ball_proximity_detector::BallBallProximityDetector` [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/ball_ball_proximity_detector.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> BallBallProximityDetector { [INFO] [stderr] 25 | | BallBallProximityDetector { [INFO] [stderr] 26 | | proximity: Proximity::Disjoint, [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [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] 21 | impl Default for pipeline::narrow_phase::proximity_detector::ball_ball_proximity_detector::BallBallProximityDetector { [INFO] [stderr] 22 | fn default() -> Self { [INFO] [stderr] 23 | Self::new() [INFO] [stderr] 24 | } [INFO] [stderr] 25 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/bounding_volume/aabb.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | self.mins = self.mins + Vector::repeat(amount); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.mins += Vector::repeat(amount)` [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] --> src/bounding_volume/aabb.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | self.maxs = self.maxs + Vector::repeat(-amount); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.maxs += Vector::repeat(-amount)` [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 `pipeline::narrow_phase::proximity_detector::plane_support_map_proximity_detector::PlaneSupportMapProximityDetector` [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/plane_support_map_proximity_detector.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> PlaneSupportMapProximityDetector { [INFO] [stderr] 19 | | PlaneSupportMapProximityDetector { [INFO] [stderr] 20 | | proximity: Proximity::Disjoint, [INFO] [stderr] 21 | | } [INFO] [stderr] 22 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 14 | impl Default for pipeline::narrow_phase::proximity_detector::plane_support_map_proximity_detector::PlaneSupportMapProximityDetector { [INFO] [stderr] 15 | fn default() -> Self { [INFO] [stderr] 16 | Self::new() [INFO] [stderr] 17 | } [INFO] [stderr] 18 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `pipeline::narrow_phase::proximity_detector::plane_support_map_proximity_detector::SupportMapPlaneProximityDetector` [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/plane_support_map_proximity_detector.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn new() -> SupportMapPlaneProximityDetector { [INFO] [stderr] 36 | | SupportMapPlaneProximityDetector { [INFO] [stderr] 37 | | subdetector: PlaneSupportMapProximityDetector::new(), [INFO] [stderr] 38 | | } [INFO] [stderr] 39 | | } [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] 31 | impl Default for pipeline::narrow_phase::proximity_detector::plane_support_map_proximity_detector::SupportMapPlaneProximityDetector { [INFO] [stderr] 32 | fn default() -> Self { [INFO] [stderr] 33 | Self::new() [INFO] [stderr] 34 | } [INFO] [stderr] 35 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `pipeline::narrow_phase::proximity_detector::support_map_support_map_proximity_detector::SupportMapSupportMapProximityDetector` [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/support_map_support_map_proximity_detector.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> SupportMapSupportMapProximityDetector { [INFO] [stderr] 25 | | SupportMapSupportMapProximityDetector { [INFO] [stderr] 26 | | simplex: VoronoiSimplex::new(), [INFO] [stderr] 27 | | proximity: Proximity::Disjoint, [INFO] [stderr] 28 | | sep_axis: Vector::x_axis(), [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] 19 | impl Default for pipeline::narrow_phase::proximity_detector::support_map_support_map_proximity_detector::SupportMapSupportMapProximityDetector { [INFO] [stderr] 20 | fn default() -> Self { [INFO] [stderr] 21 | Self::new() [INFO] [stderr] 22 | } [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/composite_shape_shape_proximity_detector.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / fn do_update( [INFO] [stderr] 38 | | &mut self, [INFO] [stderr] 39 | | dispatcher: &ProximityDispatcher, [INFO] [stderr] 40 | | m1: &Isometry, [INFO] [stderr] ... | [INFO] [stderr] 161 | | self.intersecting_key = usize::max_value() [INFO] [stderr] 162 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/composite_shape_shape_proximity_detector.rs:74:37 [INFO] [stderr] | [INFO] [stderr] 74 | let m12 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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: you should consider deriving a `Default` implementation for `pipeline::narrow_phase::proximity_detector::default_proximity_dispatcher::DefaultProximityDispatcher` [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/default_proximity_dispatcher.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | / pub fn new() -> DefaultProximityDispatcher { [INFO] [stderr] 17 | | DefaultProximityDispatcher { [INFO] [stderr] 18 | | } [INFO] [stderr] 19 | | } [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: manual implementation of an assign operation [INFO] [stderr] --> src/bounding_volume/bounding_sphere.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | self.radius = self.radius + amount [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.radius += amount` [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] --> src/bounding_volume/bounding_sphere.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | self.radius = self.radius - amount [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.radius -= amount` [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] --> src/pipeline/world/collision_object.rs:202:16 [INFO] [stderr] | [INFO] [stderr] 202 | 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 `pipeline::world::collision_object::CollisionObjectSlab` [INFO] [stderr] --> src/pipeline/world/collision_object.rs:214:5 [INFO] [stderr] | [INFO] [stderr] 214 | / pub fn new() -> CollisionObjectSlab { [INFO] [stderr] 215 | | CollisionObjectSlab { [INFO] [stderr] 216 | | objects: Slab::new(), [INFO] [stderr] 217 | | } [INFO] [stderr] 218 | | } [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] 208 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `pipeline::world::collision_groups::CollisionGroups` [INFO] [stderr] --> src/pipeline/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] --> src/pipeline/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] --> src/pipeline/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] --> src/pipeline/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] --> src/pipeline/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 `pipeline::world::collision_groups::CollisionGroupsPairFilter` [INFO] [stderr] --> src/pipeline/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: using `clone` on a `Copy` type [INFO] [stderr] --> src/pipeline/world/collision_world.rs:154:25 [INFO] [stderr] | [INFO] [stderr] 154 | co.set_position(pos.clone()); [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `pos` [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: manual implementation of an assign operation [INFO] [stderr] --> src/pipeline/world/collision_world.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/partitioning/dbvt.rs:23:23 [INFO] [stderr] | [INFO] [stderr] 23 | 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: you should consider deriving a `Default` implementation for `pipeline::events::EventPool` [INFO] [stderr] --> src/pipeline/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] --> src/pipeline/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: manual implementation of an assign operation [INFO] [stderr] --> src/procedural/utils.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | curr_theta = curr_theta + dtheta; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `curr_theta += dtheta` [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 `partitioning::dbvt::DBVT` [INFO] [stderr] --> src/partitioning/dbvt.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | / pub fn new() -> DBVT { [INFO] [stderr] 126 | | DBVT { [INFO] [stderr] 127 | | root: DBVTNodeId::Leaf(0), [INFO] [stderr] 128 | | leaves: Slab::new(), [INFO] [stderr] 129 | | internals: Slab::new(), [INFO] [stderr] 130 | | } [INFO] [stderr] 131 | | } [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] 123 | impl Default for partitioning::dbvt::DBVT { [INFO] [stderr] 124 | fn default() -> Self { [INFO] [stderr] 125 | Self::new() [INFO] [stderr] 126 | } [INFO] [stderr] 127 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/procedural/polyline.rs:95:22 [INFO] [stderr] | [INFO] [stderr] 95 | *n = t * &*n; [INFO] [stderr] | ^^^^--- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `*n` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/procedural/polyline.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | *c = *c * *s [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `*c *= *s` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/procedural/sphere.rs:226:39 [INFO] [stderr] | [INFO] [stderr] 226 | let dtheta = two_pi / na::convert(nsubdivs as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(nsubdivs)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/partitioning/bvt.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 44 | if leaves.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `leaves.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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/partitioning/bvt.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | / match self.tree { [INFO] [stderr] 59 | | Some(ref t) => t.visit(visitor), [INFO] [stderr] 60 | | None => {} [INFO] [stderr] 61 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(ref t) = self.tree { t.visit(visitor) }` [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/partitioning/bvt.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | / match (&self.tree, &other.tree) { [INFO] [stderr] 67 | | (&Some(ref ta), &Some(ref tb)) => ta.visit_bvtt(tb, visitor), [INFO] [stderr] 68 | | _ => {} [INFO] [stderr] 69 | | } [INFO] [stderr] | |_________^ help: try this: `if let (&Some(ref ta), &Some(ref tb)) = (&self.tree, &other.tree) { ta.visit_bvtt(tb, visitor) }` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/partitioning/bvt.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / pub fn root_bounding_volume<'r>(&'r self) -> Option<&'r BV> { [INFO] [stderr] 93 | | match self.tree { [INFO] [stderr] 94 | | Some(ref n) => match *n { [INFO] [stderr] 95 | | BVTNode::Internal(ref bv, _, _) => Some(bv), [INFO] [stderr] ... | [INFO] [stderr] 99 | | } [INFO] [stderr] 100 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/procedural/bezier.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | cache[0].clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `cache[0]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/procedural/bezier.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | t = t + tstep; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `t += tstep` [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: length comparison to zero [INFO] [stderr] --> src/partitioning/bvt.rs:131:12 [INFO] [stderr] | [INFO] [stderr] 131 | if leaves.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `leaves.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: length comparison to zero [INFO] [stderr] --> src/partitioning/bvt.rs:171:16 [INFO] [stderr] | [INFO] [stderr] 171 | if left.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `left.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: length comparison to zero [INFO] [stderr] --> src/partitioning/bvt.rs:173:23 [INFO] [stderr] | [INFO] [stderr] 173 | } else if right.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `right.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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/partitioning/bvt.rs:214:5 [INFO] [stderr] | [INFO] [stderr] 214 | / pub fn bounding_volume<'a>(&'a self) -> &'a BV { [INFO] [stderr] 215 | | match *self { [INFO] [stderr] 216 | | BVTNode::Internal(ref bv, _, _) => bv, [INFO] [stderr] 217 | | BVTNode::Leaf(ref bv, _) => bv, [INFO] [stderr] 218 | | } [INFO] [stderr] 219 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/partitioning/bvt.rs:283:9 [INFO] [stderr] | [INFO] [stderr] 283 | / loop { [INFO] [stderr] 284 | | match queue.pop() { [INFO] [stderr] 285 | | Some(node) => { [INFO] [stderr] 286 | | if -node.cost >= best_cost { [INFO] [stderr] ... | [INFO] [stderr] 322 | | } [INFO] [stderr] 323 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(node) = queue.pop() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/partitioning/bvt.rs:292:29 [INFO] [stderr] | [INFO] [stderr] 292 | / match algorithm.compute_bv_cost(left.bounding_volume()) { [INFO] [stderr] 293 | | Some(lcost) => { [INFO] [stderr] 294 | | if lcost < best_cost { [INFO] [stderr] 295 | | queue.push(RefWithCost::new(&**left, -lcost)) [INFO] [stderr] ... | [INFO] [stderr] 298 | | None => {} [INFO] [stderr] 299 | | } [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 292 | if let Some(lcost) = algorithm.compute_bv_cost(left.bounding_volume()) { [INFO] [stderr] 293 | if lcost < best_cost { [INFO] [stderr] 294 | queue.push(RefWithCost::new(&**left, -lcost)) [INFO] [stderr] 295 | } [INFO] [stderr] 296 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/partitioning/bvt.rs:301:29 [INFO] [stderr] | [INFO] [stderr] 301 | / match algorithm.compute_bv_cost(right.bounding_volume()) { [INFO] [stderr] 302 | | Some(rcost) => { [INFO] [stderr] 303 | | if rcost < best_cost { [INFO] [stderr] 304 | | queue.push(RefWithCost::new(&**right, -rcost)) [INFO] [stderr] ... | [INFO] [stderr] 307 | | None => {} [INFO] [stderr] 308 | | } [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 301 | if let Some(rcost) = algorithm.compute_bv_cost(right.bounding_volume()) { [INFO] [stderr] 302 | if rcost < best_cost { [INFO] [stderr] 303 | queue.push(RefWithCost::new(&**right, -rcost)) [INFO] [stderr] 304 | } [INFO] [stderr] 305 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/partitioning/bvt.rs:310:52 [INFO] [stderr] | [INFO] [stderr] 310 | BVTNode::Leaf(_, ref b) => match algorithm.compute_b_cost(b) { [INFO] [stderr] | ____________________________________________________^ [INFO] [stderr] 311 | | Some((candidate_cost, candidate_result)) => { [INFO] [stderr] 312 | | if candidate_cost < best_cost { [INFO] [stderr] 313 | | best_cost = candidate_cost; [INFO] [stderr] ... | [INFO] [stderr] 317 | | None => {} [INFO] [stderr] 318 | | }, [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 310 | BVTNode::Leaf(_, ref b) => if let Some((candidate_cost, candidate_result)) = algorithm.compute_b_cost(b) { [INFO] [stderr] 311 | if candidate_cost < best_cost { [INFO] [stderr] 312 | best_cost = candidate_cost; [INFO] [stderr] 313 | result = Some((b, candidate_result)); [INFO] [stderr] 314 | } [INFO] [stderr] 315 | }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/pipeline/broad_phase/broad_phase.rs:17:23 [INFO] [stderr] | [INFO] [stderr] 17 | pub 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] --> src/pipeline/broad_phase/broad_phase.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | 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 `query::algorithms::epa2::EPA` [INFO] [stderr] --> src/query/algorithms/epa2.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | / pub fn new() -> Self { [INFO] [stderr] 127 | | EPA { [INFO] [stderr] 128 | | vertices: Vec::new(), [INFO] [stderr] 129 | | faces: Vec::new(), [INFO] [stderr] 130 | | heap: BinaryHeap::new(), [INFO] [stderr] 131 | | } [INFO] [stderr] 132 | | } [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] 118 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `pipeline::broad_phase::broad_phase_pair_filter::BroadPhasePairFilters` [INFO] [stderr] --> src/pipeline/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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/query/algorithms/epa2.rs:170:10 [INFO] [stderr] | [INFO] [stderr] 170 | ) -> Option<(Point, Point, Unit>)> [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: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/epa2.rs:183:18 [INFO] [stderr] | [INFO] [stderr] 183 | for i in 0..simplex.dimension() + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=simplex.dimension()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/query/algorithms/epa2.rs:306:32 [INFO] [stderr] | [INFO] [stderr] 306 | for f in new_faces.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::into_iter_on_array)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/pipeline/broad_phase/dbvt_broad_phase.rs:222:35 [INFO] [stderr] | [INFO] [stderr] 222 | let some_leaves_updated = self.leaves_to_update.len() != 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.leaves_to_update.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] --> src/pipeline/broad_phase/dbvt_broad_phase.rs:292:26 [INFO] [stderr] | [INFO] [stderr] 292 | 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] 292 | for pair in self.pairs.keys() { [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/gjk.rs:99:22 [INFO] [stderr] | [INFO] [stderr] 99 | for i in 0..simplex.prev_dimension() + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=simplex.prev_dimension()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/gjk.rs:108:22 [INFO] [stderr] | [INFO] [stderr] 108 | for i in 0..simplex.dimension() + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=simplex.dimension()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/query/algorithms/gjk.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | assert!(min_bound == min_bound); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/query/algorithms/gjk.rs:281:21 [INFO] [stderr] | [INFO] [stderr] 281 | ltoi = ltoi + t; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `ltoi += t` [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] error: this `if` has identical blocks [INFO] [stderr] --> src/query/algorithms/gjk.rs:310:89 [INFO] [stderr] | [INFO] [stderr] 310 | } else if max_bound <= _eps_tol || max_bound <= _eps_tol * simplex.max_sq_len() { [INFO] [stderr] | _________________________________________________________________________________________^ [INFO] [stderr] 311 | | // FIXME: we use the same tolerence for absolute and relative epsilons. This could be improved. [INFO] [stderr] 312 | | // Return ldir: the last projection plane is tangeant to the intersected surface. [INFO] [stderr] 313 | | return Some((ltoi, ldir)); [INFO] [stderr] 314 | | } else if max_bound >= old_max_bound { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/query/algorithms/gjk.rs:308:39 [INFO] [stderr] | [INFO] [stderr] 308 | if simplex.dimension() == DIM { [INFO] [stderr] | _______________________________________^ [INFO] [stderr] 309 | | return Some((ltoi, ldir)); [INFO] [stderr] 310 | | } else if max_bound <= _eps_tol || max_bound <= _eps_tol * simplex.max_sq_len() { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (10/7) [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/contact_manifold_generator.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / fn update( [INFO] [stderr] 14 | | &mut self, [INFO] [stderr] 15 | | dispatcher: &ContactDispatcher, [INFO] [stderr] 16 | | ida: usize, [INFO] [stderr] ... | [INFO] [stderr] 23 | | id_alloc: &mut IdAllocator, [INFO] [stderr] 24 | | ) -> bool; [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 deriving a `Default` implementation for `pipeline::narrow_phase::contact_generator::default_contact_dispatcher::DefaultContactDispatcher` [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/default_contact_dispatcher.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> DefaultContactDispatcher { [INFO] [stderr] 19 | | DefaultContactDispatcher { [INFO] [stderr] 20 | | } [INFO] [stderr] 21 | | } [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 adding a `Default` implementation for `query::algorithms::voronoi_simplex2::VoronoiSimplex` [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / pub fn new() -> VoronoiSimplex { [INFO] [stderr] 22 | | VoronoiSimplex { [INFO] [stderr] 23 | | prev_vertices: [0, 1, 2], [INFO] [stderr] 24 | | prev_proj: [N::zero(); 2], [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] 19 | impl Default for query::algorithms::voronoi_simplex2::VoronoiSimplex { [INFO] [stderr] 20 | fn default() -> Self { [INFO] [stderr] 21 | Self::new() [INFO] [stderr] 22 | } [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:51:18 [INFO] [stderr] | [INFO] [stderr] 51 | for i in 0..self.dim + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `0..=self.dim` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `pipeline::narrow_phase::contact_generator::ball_ball_manifold_generator::BallBallManifoldGenerator` [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_ball_manifold_generator.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | / pub fn new() -> BallBallManifoldGenerator { [INFO] [stderr] 27 | | BallBallManifoldGenerator { [INFO] [stderr] 28 | | manifold: ContactManifold::new(), [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] 23 | impl Default for pipeline::narrow_phase::contact_generator::ball_ball_manifold_generator::BallBallManifoldGenerator { [INFO] [stderr] 24 | fn default() -> Self { [INFO] [stderr] 25 | Self::new() [INFO] [stderr] 26 | } [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:181:18 [INFO] [stderr] | [INFO] [stderr] 181 | for i in 0..self.dim + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `0..=self.dim` [INFO] [stderr] | [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_convex_polyhedron_manifold_generator.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | / fn do_update( [INFO] [stderr] 35 | | &mut self, [INFO] [stderr] 36 | | m1: &Isometry, [INFO] [stderr] 37 | | a: &Shape, [INFO] [stderr] ... | [INFO] [stderr] 126 | | } [INFO] [stderr] 127 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:204:18 [INFO] [stderr] | [INFO] [stderr] 204 | for i in 0..self.dim + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `0..=self.dim` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/ball_convex_polyhedron_manifold_generator.rs:58:17 [INFO] [stderr] | [INFO] [stderr] 58 | / let normal; [INFO] [stderr] 59 | | [INFO] [stderr] 60 | | if proj.is_inside { [INFO] [stderr] 61 | | depth = dist + ball.radius(); [INFO] [stderr] ... | [INFO] [stderr] 65 | | normal = dir; [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________________^ help: it is more idiomatic to write: `let normal = if proj.is_inside { ..; -dir } else { ..; dir };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:217:18 [INFO] [stderr] | [INFO] [stderr] 217 | for i in 0..self.dim + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `0..=self.dim` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `pipeline::narrow_phase::contact_generator::convex_polyhedron_convex_polyhedron_manifold_generator::ConvexPolyhedronConvexPolyhedronManifoldGenerator` [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | / pub fn new() -> ConvexPolyhedronConvexPolyhedronManifoldGenerator { [INFO] [stderr] 60 | | ConvexPolyhedronConvexPolyhedronManifoldGenerator { [INFO] [stderr] 61 | | simplex: VoronoiSimplex::new(), [INFO] [stderr] 62 | | last_gjk_dir: None, [INFO] [stderr] ... | [INFO] [stderr] 69 | | } [INFO] [stderr] 70 | | } [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] 57 | impl Default for pipeline::narrow_phase::contact_generator::convex_polyhedron_convex_polyhedron_manifold_generator::ConvexPolyhedronConvexPolyhedronManifoldGenerator { [INFO] [stderr] 58 | fn default() -> Self { [INFO] [stderr] 59 | Self::new() [INFO] [stderr] 60 | } [INFO] [stderr] 61 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/query/closest_points_internal/composite_shape_against_shape.rs:70:39 [INFO] [stderr] | [INFO] [stderr] 70 | let ls_m2 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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: length comparison to zero [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/convex_polyhedron_convex_polyhedron_manifold_generator.rs:397:24 [INFO] [stderr] | [INFO] [stderr] 397 | if self.new_contacts.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.new_contacts.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: this function has too many arguments (8/7) [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_ball_manifold_generator.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | / fn do_update( [INFO] [stderr] 30 | | &mut self, [INFO] [stderr] 31 | | m1: &Isometry, [INFO] [stderr] 32 | | g1: &Shape, [INFO] [stderr] ... | [INFO] [stderr] 82 | | } [INFO] [stderr] 83 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: this function has too many arguments (8/7) [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/plane_convex_polyhedron_manifold_generator.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / fn do_update( [INFO] [stderr] 31 | | &mut self, [INFO] [stderr] 32 | | m1: &Isometry, [INFO] [stderr] 33 | | g1: &Shape, [INFO] [stderr] ... | [INFO] [stderr] 79 | | } [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/query/contacts_internal/ball_against_ball.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | / let mut normal = Unit::new_normalize(delta_pos); [INFO] [stderr] 24 | | [INFO] [stderr] 25 | | if distance_squared.is_zero() { [INFO] [stderr] 26 | | normal = Vector::x_axis(); [INFO] [stderr] 27 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let normal = if distance_squared.is_zero() { Vector::x_axis() } else { Unit::new_normalize(delta_pos) };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/composite_shape_shape_manifold_generator.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | / fn do_update( [INFO] [stderr] 35 | | &mut self, [INFO] [stderr] 36 | | dispatcher: &ContactDispatcher, [INFO] [stderr] 37 | | id1: usize, [INFO] [stderr] ... | [INFO] [stderr] 124 | | } [INFO] [stderr] 125 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/query/contacts_internal/composite_shape_against_shape.rs:22:35 [INFO] [stderr] | [INFO] [stderr] 22 | let ls_m2 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/composite_shape_shape_manifold_generator.rs:48:39 [INFO] [stderr] | [INFO] [stderr] 48 | let ls_m2 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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: manual implementation of an assign operation [INFO] [stderr] --> src/pipeline/narrow_phase/contact_generator/composite_shape_shape_manifold_generator.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | res = res + detector.1.num_contacts() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += detector.1.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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/query/contacts_internal/composite_shape_against_shape.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | / match contacts_internal::contact_internal(m, part, m2, g2, prediction) { [INFO] [stderr] 37 | | Some(c) => { [INFO] [stderr] 38 | | let replace = match res { [INFO] [stderr] 39 | | Some(ref cbest) => c.depth > cbest.depth, [INFO] [stderr] ... | [INFO] [stderr] 47 | | None => {} [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 36 | if let Some(c) = contacts_internal::contact_internal(m, part, m2, g2, prediction) { [INFO] [stderr] 37 | let replace = match res { [INFO] [stderr] 38 | Some(ref cbest) => c.depth > cbest.depth, [INFO] [stderr] 39 | None => true, [INFO] [stderr] 40 | }; [INFO] [stderr] 41 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/pipeline/narrow_phase/narrow_phase.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | 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: you should consider adding a `Default` implementation for `query::contacts_internal::contact_kinematic::ContactKinematic` [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | / pub fn new() -> Self { [INFO] [stderr] 53 | | ContactKinematic { [INFO] [stderr] 54 | | local1: Point::origin(), [INFO] [stderr] 55 | | local2: Point::origin(), [INFO] [stderr] ... | [INFO] [stderr] 63 | | } [INFO] [stderr] 64 | | } [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] 47 | impl Default for query::contacts_internal::contact_kinematic::ContactKinematic { [INFO] [stderr] 48 | fn default() -> Self { [INFO] [stderr] 49 | Self::new() [INFO] [stderr] 50 | } [INFO] [stderr] 51 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `pipeline::narrow_phase::proximity_detector::ball_ball_proximity_detector::BallBallProximityDetector` [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/ball_ball_proximity_detector.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> BallBallProximityDetector { [INFO] [stderr] 25 | | BallBallProximityDetector { [INFO] [stderr] 26 | | proximity: Proximity::Disjoint, [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [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] 21 | impl Default for pipeline::narrow_phase::proximity_detector::ball_ball_proximity_detector::BallBallProximityDetector { [INFO] [stderr] 22 | fn default() -> Self { [INFO] [stderr] 23 | Self::new() [INFO] [stderr] 24 | } [INFO] [stderr] 25 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `pipeline::narrow_phase::proximity_detector::plane_support_map_proximity_detector::PlaneSupportMapProximityDetector` [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/plane_support_map_proximity_detector.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / pub fn new() -> PlaneSupportMapProximityDetector { [INFO] [stderr] 19 | | PlaneSupportMapProximityDetector { [INFO] [stderr] 20 | | proximity: Proximity::Disjoint, [INFO] [stderr] 21 | | } [INFO] [stderr] 22 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 14 | impl Default for pipeline::narrow_phase::proximity_detector::plane_support_map_proximity_detector::PlaneSupportMapProximityDetector { [INFO] [stderr] 15 | fn default() -> Self { [INFO] [stderr] 16 | Self::new() [INFO] [stderr] 17 | } [INFO] [stderr] 18 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `pipeline::narrow_phase::proximity_detector::plane_support_map_proximity_detector::SupportMapPlaneProximityDetector` [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/plane_support_map_proximity_detector.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn new() -> SupportMapPlaneProximityDetector { [INFO] [stderr] 36 | | SupportMapPlaneProximityDetector { [INFO] [stderr] 37 | | subdetector: PlaneSupportMapProximityDetector::new(), [INFO] [stderr] 38 | | } [INFO] [stderr] 39 | | } [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] 31 | impl Default for pipeline::narrow_phase::proximity_detector::plane_support_map_proximity_detector::SupportMapPlaneProximityDetector { [INFO] [stderr] 32 | fn default() -> Self { [INFO] [stderr] 33 | Self::new() [INFO] [stderr] 34 | } [INFO] [stderr] 35 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `pipeline::narrow_phase::proximity_detector::support_map_support_map_proximity_detector::SupportMapSupportMapProximityDetector` [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/support_map_support_map_proximity_detector.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> SupportMapSupportMapProximityDetector { [INFO] [stderr] 25 | | SupportMapSupportMapProximityDetector { [INFO] [stderr] 26 | | simplex: VoronoiSimplex::new(), [INFO] [stderr] 27 | | proximity: Proximity::Disjoint, [INFO] [stderr] 28 | | sep_axis: Vector::x_axis(), [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] 19 | impl Default for pipeline::narrow_phase::proximity_detector::support_map_support_map_proximity_detector::SupportMapSupportMapProximityDetector { [INFO] [stderr] 20 | fn default() -> Self { [INFO] [stderr] 21 | Self::new() [INFO] [stderr] 22 | } [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/composite_shape_shape_proximity_detector.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / fn do_update( [INFO] [stderr] 38 | | &mut self, [INFO] [stderr] 39 | | dispatcher: &ProximityDispatcher, [INFO] [stderr] 40 | | m1: &Isometry, [INFO] [stderr] ... | [INFO] [stderr] 161 | | self.intersecting_key = usize::max_value() [INFO] [stderr] 162 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/composite_shape_shape_proximity_detector.rs:74:37 [INFO] [stderr] | [INFO] [stderr] 74 | let m12 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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: you should consider deriving a `Default` implementation for `pipeline::narrow_phase::proximity_detector::default_proximity_dispatcher::DefaultProximityDispatcher` [INFO] [stderr] --> src/pipeline/narrow_phase/proximity_detector/default_proximity_dispatcher.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | / pub fn new() -> DefaultProximityDispatcher { [INFO] [stderr] 17 | | DefaultProximityDispatcher { [INFO] [stderr] 18 | | } [INFO] [stderr] 19 | | } [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: item `query::contacts_internal::contact_manifold::ContactManifold` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/query/contacts_internal/contact_manifold.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | / impl ContactManifold { [INFO] [stderr] 45 | | /// Initializes a contact manifold without any contact. [INFO] [stderr] 46 | | pub fn new() -> Self { [INFO] [stderr] 47 | | ContactManifold { [INFO] [stderr] ... | [INFO] [stderr] 230 | | */ [INFO] [stderr] 231 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `query::contacts_internal::contact_manifold::ContactManifold` [INFO] [stderr] --> src/query/contacts_internal/contact_manifold.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | / pub fn new() -> Self { [INFO] [stderr] 47 | | ContactManifold { [INFO] [stderr] 48 | | subshape_id1: 0, [INFO] [stderr] 49 | | subshape_id2: 0, [INFO] [stderr] ... | [INFO] [stderr] 55 | | } [INFO] [stderr] 56 | | } [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] 30 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/pipeline/world/collision_object.rs:202:16 [INFO] [stderr] | [INFO] [stderr] 202 | 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 `pipeline::world::collision_object::CollisionObjectSlab` [INFO] [stderr] --> src/pipeline/world/collision_object.rs:214:5 [INFO] [stderr] | [INFO] [stderr] 214 | / pub fn new() -> CollisionObjectSlab { [INFO] [stderr] 215 | | CollisionObjectSlab { [INFO] [stderr] 216 | | objects: Slab::new(), [INFO] [stderr] 217 | | } [INFO] [stderr] 218 | | } [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] 208 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `pipeline::world::collision_groups::CollisionGroups` [INFO] [stderr] --> src/pipeline/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] --> src/pipeline/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] --> src/pipeline/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: length comparison to zero [INFO] [stderr] --> src/query/contacts_internal/contact_manifold.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | self.contacts.len() == 0 || contact.depth > self.contacts[self.deepest].contact.depth; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.contacts.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] --> src/pipeline/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] --> src/pipeline/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 `pipeline::world::collision_groups::CollisionGroupsPairFilter` [INFO] [stderr] --> src/pipeline/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: using `clone` on a `Copy` type [INFO] [stderr] --> src/pipeline/world/collision_world.rs:154:25 [INFO] [stderr] | [INFO] [stderr] 154 | co.set_position(pos.clone()); [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `pos` [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: manual implementation of an assign operation [INFO] [stderr] --> src/pipeline/world/collision_world.rs:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | 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: using `clone` on a `Copy` type [INFO] [stderr] --> src/query/distance_internal/composite_shape_against_shape.rs:63:39 [INFO] [stderr] | [INFO] [stderr] 63 | let ls_m2 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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] error: use of `#[inline]` on trait method `project_point` which has no body [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `pipeline::events::EventPool` [INFO] [stderr] --> src/pipeline/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] --> src/query/point_internal/point_query.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 28 | | fn project_point(&self, m: &Isometry, pt: &Point, solid: bool) -> PointProjection; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::inline_fn_without_body)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/pipeline/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] error: use of `#[inline]` on trait method `project_point_with_feature` which has no body [INFO] [stderr] --> src/query/point_internal/point_query.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 46 | | fn project_point_with_feature(&self, m: &Isometry, pt: &Point) -> (PointProjection, FeatureId); [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `project_point_with_location` which has no body [INFO] [stderr] --> src/query/point_internal/point_query.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 80 | | fn project_point_with_location( [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/procedural/utils.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | curr_theta = curr_theta + dtheta; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `curr_theta += dtheta` [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: taken reference of right operand [INFO] [stderr] --> src/procedural/polyline.rs:95:22 [INFO] [stderr] | [INFO] [stderr] 95 | *n = t * &*n; [INFO] [stderr] | ^^^^--- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `*n` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `shift` [INFO] [stderr] --> src/query/point_internal/point_aabb.rs:81:18 [INFO] [stderr] | [INFO] [stderr] 81 | for i in 0..DIM { [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] 81 | for (i, ) in shift.iter().enumerate().take(DIM) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `ls_pt` [INFO] [stderr] --> src/query/point_internal/point_aabb.rs:91:22 [INFO] [stderr] | [INFO] [stderr] 91 | for i in 0..DIM { [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] 91 | for (i, ) in ls_pt.iter().enumerate().take(DIM) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/procedural/polyline.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | *c = *c * *s [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `*c *= *s` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/procedural/sphere.rs:226:39 [INFO] [stderr] | [INFO] [stderr] 226 | let dtheta = two_pi / na::convert(nsubdivs as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(nsubdivs)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `ls_pt` [INFO] [stderr] --> src/query/point_internal/point_aabb.rs:154:18 [INFO] [stderr] | [INFO] [stderr] 154 | for i in 0..DIM { [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] 154 | for (i, ) in ls_pt.iter().enumerate().take(DIM) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/procedural/bezier.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | cache[0].clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `cache[0]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/procedural/bezier.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | t = t + tstep; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `t += tstep` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/query/point_internal/point_support_map.rs:29:68 [INFO] [stderr] | [INFO] [stderr] 29 | Unit::try_new(-m.translation.vector, N::default_epsilon()).unwrap_or(Vector::x_axis()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(Vector::x_axis)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | / fn stable_check_edges_voronoi( [INFO] [stderr] 126 | | ab: &Vector, [INFO] [stderr] 127 | | ac: &Vector, [INFO] [stderr] 128 | | bc: &Vector, [INFO] [stderr] ... | [INFO] [stderr] 178 | | } [INFO] [stderr] 179 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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 deriving a `Default` implementation for `query::algorithms::epa2::EPA` [INFO] [stderr] --> src/query/algorithms/epa2.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | / pub fn new() -> Self { [INFO] [stderr] 127 | | EPA { [INFO] [stderr] 128 | | vertices: Vec::new(), [INFO] [stderr] 129 | | faces: Vec::new(), [INFO] [stderr] 130 | | heap: BinaryHeap::new(), [INFO] [stderr] 131 | | } [INFO] [stderr] 132 | | } [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] 118 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/query/algorithms/epa2.rs:170:10 [INFO] [stderr] | [INFO] [stderr] 170 | ) -> Option<(Point, Point, Unit>)> [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: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/epa2.rs:183:18 [INFO] [stderr] | [INFO] [stderr] 183 | for i in 0..simplex.dimension() + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=simplex.dimension()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/query/algorithms/epa2.rs:306:32 [INFO] [stderr] | [INFO] [stderr] 306 | for f in new_faces.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::into_iter_on_array)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/gjk.rs:99:22 [INFO] [stderr] | [INFO] [stderr] 99 | for i in 0..simplex.prev_dimension() + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=simplex.prev_dimension()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/gjk.rs:108:22 [INFO] [stderr] | [INFO] [stderr] 108 | for i in 0..simplex.dimension() + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=simplex.dimension()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/query/algorithms/gjk.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | assert!(min_bound == min_bound); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/query/proximity_internal/composite_shape_against_shape.rs:72:39 [INFO] [stderr] | [INFO] [stderr] 72 | let ls_m2 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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: manual implementation of an assign operation [INFO] [stderr] --> src/query/algorithms/gjk.rs:281:21 [INFO] [stderr] | [INFO] [stderr] 281 | ltoi = ltoi + t; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `ltoi += t` [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] error: this `if` has identical blocks [INFO] [stderr] --> src/query/algorithms/gjk.rs:310:89 [INFO] [stderr] | [INFO] [stderr] 310 | } else if max_bound <= _eps_tol || max_bound <= _eps_tol * simplex.max_sq_len() { [INFO] [stderr] | _________________________________________________________________________________________^ [INFO] [stderr] 311 | | // FIXME: we use the same tolerence for absolute and relative epsilons. This could be improved. [INFO] [stderr] 312 | | // Return ldir: the last projection plane is tangeant to the intersected surface. [INFO] [stderr] 313 | | return Some((ltoi, ldir)); [INFO] [stderr] 314 | | } else if max_bound >= old_max_bound { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/query/algorithms/gjk.rs:308:39 [INFO] [stderr] | [INFO] [stderr] 308 | if simplex.dimension() == DIM { [INFO] [stderr] | _______________________________________^ [INFO] [stderr] 309 | | return Some((ltoi, ldir)); [INFO] [stderr] 310 | | } else if max_bound <= _eps_tol || max_bound <= _eps_tol * simplex.max_sq_len() { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `toi_and_normal_with_ray` which has no body [INFO] [stderr] --> src/query/ray_internal/ray.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 117 | | fn toi_and_normal_with_ray( [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `query::algorithms::voronoi_simplex2::VoronoiSimplex` [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / pub fn new() -> VoronoiSimplex { [INFO] [stderr] 22 | | VoronoiSimplex { [INFO] [stderr] 23 | | prev_vertices: [0, 1, 2], [INFO] [stderr] 24 | | prev_proj: [N::zero(); 2], [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] 19 | impl Default for query::algorithms::voronoi_simplex2::VoronoiSimplex { [INFO] [stderr] 20 | fn default() -> Self { [INFO] [stderr] 21 | Self::new() [INFO] [stderr] 22 | } [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:51:18 [INFO] [stderr] | [INFO] [stderr] 51 | for i in 0..self.dim + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `0..=self.dim` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:181:18 [INFO] [stderr] | [INFO] [stderr] 181 | for i in 0..self.dim + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `0..=self.dim` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:204:18 [INFO] [stderr] | [INFO] [stderr] 204 | for i in 0..self.dim + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `0..=self.dim` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/query/algorithms/voronoi_simplex2.rs:217:18 [INFO] [stderr] | [INFO] [stderr] 217 | for i in 0..self.dim + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `0..=self.dim` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/query/closest_points_internal/composite_shape_against_shape.rs:70:39 [INFO] [stderr] | [INFO] [stderr] 70 | let ls_m2 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:70:39 [INFO] [stderr] | [INFO] [stderr] 70 | let ls_m2 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/query/contacts_internal/ball_against_ball.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | / let mut normal = Unit::new_normalize(delta_pos); [INFO] [stderr] 24 | | [INFO] [stderr] 25 | | if distance_squared.is_zero() { [INFO] [stderr] 26 | | normal = Vector::x_axis(); [INFO] [stderr] 27 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let normal = if distance_squared.is_zero() { Vector::x_axis() } else { Unit::new_normalize(delta_pos) };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/query/contacts_internal/composite_shape_against_shape.rs:22:35 [INFO] [stderr] | [INFO] [stderr] 22 | let ls_m2 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/query/contacts_internal/composite_shape_against_shape.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | / match contacts_internal::contact_internal(m, part, m2, g2, prediction) { [INFO] [stderr] 37 | | Some(c) => { [INFO] [stderr] 38 | | let replace = match res { [INFO] [stderr] 39 | | Some(ref cbest) => c.depth > cbest.depth, [INFO] [stderr] ... | [INFO] [stderr] 47 | | None => {} [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 36 | if let Some(c) = contacts_internal::contact_internal(m, part, m2, g2, prediction) { [INFO] [stderr] 37 | let replace = match res { [INFO] [stderr] 38 | Some(ref cbest) => c.depth > cbest.depth, [INFO] [stderr] 39 | None => true, [INFO] [stderr] 40 | }; [INFO] [stderr] 41 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `query::contacts_internal::contact_kinematic::ContactKinematic` [INFO] [stderr] --> src/query/contacts_internal/contact_kinematic.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | / pub fn new() -> Self { [INFO] [stderr] 53 | | ContactKinematic { [INFO] [stderr] 54 | | local1: Point::origin(), [INFO] [stderr] 55 | | local2: Point::origin(), [INFO] [stderr] ... | [INFO] [stderr] 63 | | } [INFO] [stderr] 64 | | } [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] 47 | impl Default for query::contacts_internal::contact_kinematic::ContactKinematic { [INFO] [stderr] 48 | fn default() -> Self { [INFO] [stderr] 49 | Self::new() [INFO] [stderr] 50 | } [INFO] [stderr] 51 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/shape/compound.rs:118:17 [INFO] [stderr] | [INFO] [stderr] 118 | f(id, &(m.clone() * elt.0.clone()), elt.1.as_ref()) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*m` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/shape/compound.rs:118:29 [INFO] [stderr] | [INFO] [stderr] 118 | f(id, &(m.clone() * elt.0.clone()), elt.1.as_ref()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `elt.0` [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/shape/convex_polygon.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | / let mut nremoved = 0; [INFO] [stderr] 46 | | // See if the first vexrtex must be removed. [INFO] [stderr] 47 | | if na::dot(&*normals[0], &*normals[normals.len() - 1]) > N::one() - eps { [INFO] [stderr] 48 | | nremoved = 1; [INFO] [stderr] 49 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let nremoved = if na::dot(&*normals[0], &*normals[normals.len() - 1]) > N::one() - eps { 1 } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/shape/convex_polygon.rs:68:12 [INFO] [stderr] | [INFO] [stderr] 68 | if points.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!points.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: item `query::contacts_internal::contact_manifold::ContactManifold` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/query/contacts_internal/contact_manifold.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | / impl ContactManifold { [INFO] [stderr] 45 | | /// Initializes a contact manifold without any contact. [INFO] [stderr] 46 | | pub fn new() -> Self { [INFO] [stderr] 47 | | ContactManifold { [INFO] [stderr] ... | [INFO] [stderr] 230 | | */ [INFO] [stderr] 231 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `query::contacts_internal::contact_manifold::ContactManifold` [INFO] [stderr] --> src/query/contacts_internal/contact_manifold.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | / pub fn new() -> Self { [INFO] [stderr] 47 | | ContactManifold { [INFO] [stderr] 48 | | subshape_id1: 0, [INFO] [stderr] 49 | | subshape_id2: 0, [INFO] [stderr] ... | [INFO] [stderr] 55 | | } [INFO] [stderr] 56 | | } [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] 30 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/query/contacts_internal/contact_manifold.rs:165:13 [INFO] [stderr] | [INFO] [stderr] 165 | self.contacts.len() == 0 || contact.depth > self.contacts[self.deepest].contact.depth; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.contacts.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 should consider adding a `Default` implementation for `shape::convex_polygonal_feature2::ConvexPolygonalFeature` [INFO] [stderr] --> src/shape/convex_polygonal_feature2.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / pub fn new() -> Self { [INFO] [stderr] 26 | | ConvexPolygonalFeature { [INFO] [stderr] 27 | | vertices: [Point::origin(); 2], [INFO] [stderr] 28 | | nvertices: 0, [INFO] [stderr] ... | [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 [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 23 | impl Default for shape::convex_polygonal_feature2::ConvexPolygonalFeature { [INFO] [stderr] 24 | fn default() -> Self { [INFO] [stderr] 25 | Self::new() [INFO] [stderr] 26 | } [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/query/distance_internal/composite_shape_against_shape.rs:63:39 [INFO] [stderr] | [INFO] [stderr] 63 | let ls_m2 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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] error: use of `#[inline]` on trait method `project_point` which has no body [INFO] [stderr] --> src/query/point_internal/point_query.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 28 | | fn project_point(&self, m: &Isometry, pt: &Point, solid: bool) -> PointProjection; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::inline_fn_without_body)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `project_point_with_feature` which has no body [INFO] [stderr] --> src/query/point_internal/point_query.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 46 | | fn project_point_with_feature(&self, m: &Isometry, pt: &Point) -> (PointProjection, FeatureId); [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `project_point_with_location` which has no body [INFO] [stderr] --> src/query/point_internal/point_query.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 80 | | fn project_point_with_location( [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `half_extents`. [INFO] [stderr] --> src/shape/cuboid.rs:31:18 [INFO] [stderr] | [INFO] [stderr] 31 | for i in 0..DIM { [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] 31 | for in half_extents.iter().take(DIM) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `res` [INFO] [stderr] --> src/shape/cuboid.rs:71:18 [INFO] [stderr] | [INFO] [stderr] 71 | for i in 0..DIM { [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] 71 | for (i, ) in res.iter_mut().enumerate().take(DIM) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `shift` [INFO] [stderr] --> src/query/point_internal/point_aabb.rs:81:18 [INFO] [stderr] | [INFO] [stderr] 81 | for i in 0..DIM { [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] 81 | for (i, ) in shift.iter().enumerate().take(DIM) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/shape/cuboid.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | / let sign; [INFO] [stderr] 109 | | [INFO] [stderr] 110 | | if i < DIM { [INFO] [stderr] 111 | | i1 = i; [INFO] [stderr] ... | [INFO] [stderr] 115 | | sign = -N::one(); [INFO] [stderr] 116 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let sign = if i < DIM { ..; N::one() } else { ..; -N::one() };` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `ls_pt` [INFO] [stderr] --> src/query/point_internal/point_aabb.rs:91:22 [INFO] [stderr] | [INFO] [stderr] 91 | for i in 0..DIM { [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] 91 | for (i, ) in ls_pt.iter().enumerate().take(DIM) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `local_dir` [INFO] [stderr] --> src/shape/cuboid.rs:203:18 [INFO] [stderr] | [INFO] [stderr] 203 | for i in 1..DIM { [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] 203 | for (i, ) in local_dir.iter().enumerate().take(DIM).skip(1) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `ls_pt` [INFO] [stderr] --> src/query/point_internal/point_aabb.rs:154:18 [INFO] [stderr] | [INFO] [stderr] 154 | for i in 0..DIM { [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] 154 | for (i, ) in ls_pt.iter().enumerate().take(DIM) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i1` is used to index `local_dir` [INFO] [stderr] --> src/shape/cuboid.rs:330:23 [INFO] [stderr] | [INFO] [stderr] 330 | for i1 in 0..2 { [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] 330 | for (i1, ) in local_dir.iter().enumerate().take(2) { [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/query/point_internal/point_support_map.rs:29:68 [INFO] [stderr] | [INFO] [stderr] 29 | Unit::try_new(-m.translation.vector, N::default_epsilon()).unwrap_or(Vector::x_axis()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(Vector::x_axis)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/query/point_internal/point_triangle.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | / fn stable_check_edges_voronoi( [INFO] [stderr] 126 | | ab: &Vector, [INFO] [stderr] 127 | | ac: &Vector, [INFO] [stderr] 128 | | bc: &Vector, [INFO] [stderr] ... | [INFO] [stderr] 178 | | } [INFO] [stderr] 179 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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: transmute from a reference to a reference [INFO] [stderr] --> src/shape/segment.rs:37:18 [INFO] [stderr] | [INFO] [stderr] 37 | unsafe { mem::transmute(arr) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&*(arr as *const [na::Point; 2] as *const shape::segment::Segment)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `aabb` which has no body [INFO] [stderr] --> src/shape/shape.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 21 | | fn aabb(&self, m: &Isometry) -> AABB; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `type_id` which has no body [INFO] [stderr] --> src/shape/shape.rs:157:5 [INFO] [stderr] | [INFO] [stderr] 157 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 158 | | fn type_id(&self) -> TypeId; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/shape/shape_impl.rs:132:18 [INFO] [stderr] | [INFO] [stderr] 132 | Some(shape.0.clone() * subtransform) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `shape.0` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/shape/shape_impl.rs:134:18 [INFO] [stderr] | [INFO] [stderr] 134 | Some(shape.0.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `shape.0` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/query/proximity_internal/composite_shape_against_shape.rs:72:39 [INFO] [stderr] | [INFO] [stderr] 72 | let ls_m2 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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: transmute from a reference to a reference [INFO] [stderr] --> src/shape/triangle.rs:60:18 [INFO] [stderr] | [INFO] [stderr] 60 | unsafe { mem::transmute(arr) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&*(arr as *const [na::Point; 3] as *const shape::triangle::Triangle)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/shape/triangle.rs:84:18 [INFO] [stderr] | [INFO] [stderr] 84 | unsafe { mem::transmute(self) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self as *const shape::triangle::Triangle as *const [na::Point; 3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transformation/to_polyline/capsule_to_polyline.rs:14:39 [INFO] [stderr] | [INFO] [stderr] 14 | let dtheta = pi / na::convert(nsubdiv as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f64::from(nsubdiv)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transformation/convex_hull2.rs:16:18 [INFO] [stderr] | [INFO] [stderr] 16 | pts.push(points[id].clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `points[id]` [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] error: use of `#[inline]` on trait method `toi_and_normal_with_ray` which has no body [INFO] [stderr] --> src/query/ray_internal/ray.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 117 | | fn toi_and_normal_with_ray( [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/transformation/convex_hull2.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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 be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/transformation/convex_hull2.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | / match pt_id { [INFO] [stderr] 39 | | Some(point) => { [INFO] [stderr] 40 | | segments[i].valid = false; [INFO] [stderr] 41 | | [INFO] [stderr] ... | [INFO] [stderr] 52 | | None => {} [INFO] [stderr] 53 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | if let Some(point) = pt_id { [INFO] [stderr] 39 | segments[i].valid = false; [INFO] [stderr] 40 | [INFO] [stderr] 41 | attach_and_push_facets2( [INFO] [stderr] 42 | segments[i].prev, [INFO] [stderr] 43 | segments[i].next, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/transformation/convex_hull2.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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: manual implementation of an assign operation [INFO] [stderr] --> src/transformation/convex_hull2.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | curr_facet = curr_facet + 1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `curr_facet += 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: manual implementation of an assign operation [INFO] [stderr] --> src/transformation/convex_hull2.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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: length comparison to one [INFO] [stderr] --> src/utils/center.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | pts.len() >= 1, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!pts.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: The function/method `utils::sort3` doesn't need a mutable reference [INFO] [stderr] --> src/utils/triangle.rs:14:34 [INFO] [stderr] | [INFO] [stderr] 14 | let (c, b, a) = utils::sort3(&mut a, &mut b, &mut c); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `utils::sort3` doesn't need a mutable reference [INFO] [stderr] --> src/utils/triangle.rs:14:42 [INFO] [stderr] | [INFO] [stderr] 14 | let (c, b, a) = utils::sort3(&mut a, &mut b, &mut c); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `utils::sort3` doesn't need a mutable reference [INFO] [stderr] --> src/utils/triangle.rs:14:50 [INFO] [stderr] | [INFO] [stderr] 14 | let (c, b, a) = utils::sort3(&mut a, &mut b, &mut c); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/utils/hashable_partial_eq.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | / impl Hash for HashablePartialEq { [INFO] [stderr] 27 | | #[inline] [INFO] [stderr] 28 | | fn hash(&self, state: &mut H) { [INFO] [stderr] 29 | | state.write(self.value.as_bytes()) [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/utils/hashable_partial_eq.rs:6:10 [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(PartialEq, Clone, Debug)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/utils/as_bytes.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | fn as_bytes<'a>(&'a self) -> &'a [u8]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/utils/as_bytes.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | / fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stderr] 17 | | unsafe { [INFO] [stderr] 18 | | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 25 | generic_as_bytes_impl!(Vector2, 2); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/utils/as_bytes.rs:18:43 [INFO] [stderr] | [INFO] [stderr] 18 | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `self as *const na::Matrix> as *const u8` [INFO] [stderr] ... [INFO] [stderr] 25 | generic_as_bytes_impl!(Vector2, 2); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_transmute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/utils/as_bytes.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | / fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stderr] 17 | | unsafe { [INFO] [stderr] 18 | | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 26 | generic_as_bytes_impl!(Point2, 2); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/utils/as_bytes.rs:18:43 [INFO] [stderr] | [INFO] [stderr] 18 | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `self as *const na::Point as *const u8` [INFO] [stderr] ... [INFO] [stderr] 26 | generic_as_bytes_impl!(Point2, 2); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/utils/as_bytes.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | / fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stderr] 17 | | unsafe { [INFO] [stderr] 18 | | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 27 | generic_as_bytes_impl!(Vector3, 2); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/utils/as_bytes.rs:18:43 [INFO] [stderr] | [INFO] [stderr] 18 | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `self as *const na::Matrix> as *const u8` [INFO] [stderr] ... [INFO] [stderr] 27 | generic_as_bytes_impl!(Vector3, 2); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/utils/as_bytes.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | / fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stderr] 17 | | unsafe { [INFO] [stderr] 18 | | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 28 | generic_as_bytes_impl!(Point3, 2); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/utils/as_bytes.rs:18:43 [INFO] [stderr] | [INFO] [stderr] 18 | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `self as *const na::Point as *const u8` [INFO] [stderr] ... [INFO] [stderr] 28 | generic_as_bytes_impl!(Point3, 2); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/utils/median.rs:6:13 [INFO] [stderr] | [INFO] [stderr] 6 | assert!(vals.len() > 0, "Cannot compute the median of zero values."); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!vals.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: the loop variable `i` is used to index `points` [INFO] [stderr] --> src/utils/point_cloud_support_point.rs:10:14 [INFO] [stderr] | [INFO] [stderr] 10 | for i in 1..points.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] 10 | for (i, ) in points.iter().enumerate().skip(1) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `utils::id_allocator::IdAllocator` [INFO] [stderr] --> src/utils/id_allocator.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn new() -> Self { [INFO] [stderr] 36 | | IdAllocator { [INFO] [stderr] 37 | | generator: Slab::new(), [INFO] [stderr] 38 | | generation: 1, [INFO] [stderr] 39 | | generation_used: false, [INFO] [stderr] 40 | | } [INFO] [stderr] 41 | | } [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] 27 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/utils/point_in_poly2d.rs:6:8 [INFO] [stderr] | [INFO] [stderr] 6 | if poly.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `poly.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: using `clone` on a `Copy` type [INFO] [stderr] --> src/query/time_of_impact_internal/composite_shape_against_shape.rs:70:39 [INFO] [stderr] | [INFO] [stderr] 70 | let ls_m2 = na::inverse(m1) * m2.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try dereferencing it: `*m2` [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: transmute from a reference to a reference [INFO] [stderr] --> src/utils/sorted_pair.rs:24:18 [INFO] [stderr] | [INFO] [stderr] 24 | unsafe { mem::transmute(self) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self as *const utils::sorted_pair::SortedPair as *const (T, T))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `utils::deterministic_state::DeterministicState` [INFO] [stderr] --> src/utils/deterministic_state.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn new() -> DeterministicState { [INFO] [stderr] 10 | | DeterministicState [INFO] [stderr] 11 | | } [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] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/shape/compound.rs:118:17 [INFO] [stderr] | [INFO] [stderr] 118 | f(id, &(m.clone() * elt.0.clone()), elt.1.as_ref()) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*m` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/shape/compound.rs:118:29 [INFO] [stderr] | [INFO] [stderr] 118 | f(id, &(m.clone() * elt.0.clone()), elt.1.as_ref()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `elt.0` [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/shape/convex_polygon.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | / let mut nremoved = 0; [INFO] [stderr] 46 | | // See if the first vexrtex must be removed. [INFO] [stderr] 47 | | if na::dot(&*normals[0], &*normals[normals.len() - 1]) > N::one() - eps { [INFO] [stderr] 48 | | nremoved = 1; [INFO] [stderr] 49 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let nremoved = if na::dot(&*normals[0], &*normals[normals.len() - 1]) > N::one() - eps { 1 } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/shape/convex_polygon.rs:68:12 [INFO] [stderr] | [INFO] [stderr] 68 | if points.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!points.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 should consider adding a `Default` implementation for `shape::convex_polygonal_feature2::ConvexPolygonalFeature` [INFO] [stderr] --> src/shape/convex_polygonal_feature2.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / pub fn new() -> Self { [INFO] [stderr] 26 | | ConvexPolygonalFeature { [INFO] [stderr] 27 | | vertices: [Point::origin(); 2], [INFO] [stderr] 28 | | nvertices: 0, [INFO] [stderr] ... | [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 [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 23 | impl Default for shape::convex_polygonal_feature2::ConvexPolygonalFeature { [INFO] [stderr] 24 | fn default() -> Self { [INFO] [stderr] 25 | Self::new() [INFO] [stderr] 26 | } [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `half_extents`. [INFO] [stderr] --> src/shape/cuboid.rs:31:18 [INFO] [stderr] | [INFO] [stderr] 31 | for i in 0..DIM { [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] 31 | for in half_extents.iter().take(DIM) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `res` [INFO] [stderr] --> src/shape/cuboid.rs:71:18 [INFO] [stderr] | [INFO] [stderr] 71 | for i in 0..DIM { [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] 71 | for (i, ) in res.iter_mut().enumerate().take(DIM) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/shape/cuboid.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | / let sign; [INFO] [stderr] 109 | | [INFO] [stderr] 110 | | if i < DIM { [INFO] [stderr] 111 | | i1 = i; [INFO] [stderr] ... | [INFO] [stderr] 115 | | sign = -N::one(); [INFO] [stderr] 116 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let sign = if i < DIM { ..; N::one() } else { ..; -N::one() };` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] error: aborting due to 10 previous errors [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `local_dir` [INFO] [stderr] --> src/shape/cuboid.rs:203:18 [INFO] [stderr] | [INFO] [stderr] 203 | for i in 1..DIM { [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] 203 | for (i, ) in local_dir.iter().enumerate().take(DIM).skip(1) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i1` is used to index `local_dir` [INFO] [stderr] --> src/shape/cuboid.rs:330:23 [INFO] [stderr] | [INFO] [stderr] 330 | for i1 in 0..2 { [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] 330 | for (i1, ) in local_dir.iter().enumerate().take(2) { [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/shape/segment.rs:37:18 [INFO] [stderr] | [INFO] [stderr] 37 | unsafe { mem::transmute(arr) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&*(arr as *const [na::Point; 2] as *const shape::segment::Segment)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] error: Could not compile `ncollide2d`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: use of `#[inline]` on trait method `aabb` which has no body [INFO] [stderr] --> src/shape/shape.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 21 | | fn aabb(&self, m: &Isometry) -> AABB; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `type_id` which has no body [INFO] [stderr] --> src/shape/shape.rs:157:5 [INFO] [stderr] | [INFO] [stderr] 157 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 158 | | fn type_id(&self) -> TypeId; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/shape/shape_impl.rs:132:18 [INFO] [stderr] | [INFO] [stderr] 132 | Some(shape.0.clone() * subtransform) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `shape.0` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/shape/shape_impl.rs:134:18 [INFO] [stderr] | [INFO] [stderr] 134 | Some(shape.0.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try removing the `clone` call: `shape.0` [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: transmute from a reference to a reference [INFO] [stderr] --> src/shape/triangle.rs:60:18 [INFO] [stderr] | [INFO] [stderr] 60 | unsafe { mem::transmute(arr) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `&*(arr as *const [na::Point; 3] as *const shape::triangle::Triangle)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/shape/triangle.rs:84:18 [INFO] [stderr] | [INFO] [stderr] 84 | unsafe { mem::transmute(self) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self as *const shape::triangle::Triangle as *const [na::Point; 3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transformation/to_polyline/capsule_to_polyline.rs:14:39 [INFO] [stderr] | [INFO] [stderr] 14 | let dtheta = pi / na::convert(nsubdiv as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `f64::from(nsubdiv)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/transformation/convex_hull2.rs:16:18 [INFO] [stderr] | [INFO] [stderr] 16 | pts.push(points[id].clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `points[id]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/transformation/convex_hull2.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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 be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/transformation/convex_hull2.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | / match pt_id { [INFO] [stderr] 39 | | Some(point) => { [INFO] [stderr] 40 | | segments[i].valid = false; [INFO] [stderr] 41 | | [INFO] [stderr] ... | [INFO] [stderr] 52 | | None => {} [INFO] [stderr] 53 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | if let Some(point) = pt_id { [INFO] [stderr] 39 | segments[i].valid = false; [INFO] [stderr] 40 | [INFO] [stderr] 41 | attach_and_push_facets2( [INFO] [stderr] 42 | segments[i].prev, [INFO] [stderr] 43 | segments[i].next, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/transformation/convex_hull2.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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: manual implementation of an assign operation [INFO] [stderr] --> src/transformation/convex_hull2.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | curr_facet = curr_facet + 1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `curr_facet += 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: manual implementation of an assign operation [INFO] [stderr] --> src/transformation/convex_hull2.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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: length comparison to one [INFO] [stderr] --> src/utils/center.rs:8:9 [INFO] [stderr] | [INFO] [stderr] 8 | pts.len() >= 1, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!pts.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: The function/method `utils::sort3` doesn't need a mutable reference [INFO] [stderr] --> src/utils/triangle.rs:14:34 [INFO] [stderr] | [INFO] [stderr] 14 | let (c, b, a) = utils::sort3(&mut a, &mut b, &mut c); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `utils::sort3` doesn't need a mutable reference [INFO] [stderr] --> src/utils/triangle.rs:14:42 [INFO] [stderr] | [INFO] [stderr] 14 | let (c, b, a) = utils::sort3(&mut a, &mut b, &mut c); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `utils::sort3` doesn't need a mutable reference [INFO] [stderr] --> src/utils/triangle.rs:14:50 [INFO] [stderr] | [INFO] [stderr] 14 | let (c, b, a) = utils::sort3(&mut a, &mut b, &mut c); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/utils/hashable_partial_eq.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | / impl Hash for HashablePartialEq { [INFO] [stderr] 27 | | #[inline] [INFO] [stderr] 28 | | fn hash(&self, state: &mut H) { [INFO] [stderr] 29 | | state.write(self.value.as_bytes()) [INFO] [stderr] 30 | | } [INFO] [stderr] 31 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/utils/hashable_partial_eq.rs:6:10 [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(PartialEq, Clone, Debug)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/utils/as_bytes.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | fn as_bytes<'a>(&'a self) -> &'a [u8]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/utils/as_bytes.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | / fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stderr] 17 | | unsafe { [INFO] [stderr] 18 | | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 25 | generic_as_bytes_impl!(Vector2, 2); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/utils/as_bytes.rs:18:43 [INFO] [stderr] | [INFO] [stderr] 18 | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `self as *const na::Matrix> as *const u8` [INFO] [stderr] ... [INFO] [stderr] 25 | generic_as_bytes_impl!(Vector2, 2); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_transmute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/utils/as_bytes.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | / fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stderr] 17 | | unsafe { [INFO] [stderr] 18 | | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 26 | generic_as_bytes_impl!(Point2, 2); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/utils/as_bytes.rs:18:43 [INFO] [stderr] | [INFO] [stderr] 18 | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `self as *const na::Point as *const u8` [INFO] [stderr] ... [INFO] [stderr] 26 | generic_as_bytes_impl!(Point2, 2); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/utils/as_bytes.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | / fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stderr] 17 | | unsafe { [INFO] [stderr] 18 | | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 27 | generic_as_bytes_impl!(Vector3, 2); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/utils/as_bytes.rs:18:43 [INFO] [stderr] | [INFO] [stderr] 18 | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `self as *const na::Matrix> as *const u8` [INFO] [stderr] ... [INFO] [stderr] 27 | generic_as_bytes_impl!(Vector3, 2); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/utils/as_bytes.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | / fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stderr] 17 | | unsafe { [INFO] [stderr] 18 | | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 28 | generic_as_bytes_impl!(Point3, 2); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a pointer [INFO] [stderr] --> src/utils/as_bytes.rs:18:43 [INFO] [stderr] | [INFO] [stderr] 18 | slice::from_raw_parts(mem::transmute(self), mem::size_of::() * $dimension) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `self as *const na::Point as *const u8` [INFO] [stderr] ... [INFO] [stderr] 28 | generic_as_bytes_impl!(Point3, 2); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/utils/median.rs:6:13 [INFO] [stderr] | [INFO] [stderr] 6 | assert!(vals.len() > 0, "Cannot compute the median of zero values."); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!vals.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: the loop variable `i` is used to index `points` [INFO] [stderr] --> src/utils/point_cloud_support_point.rs:10:14 [INFO] [stderr] | [INFO] [stderr] 10 | for i in 1..points.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] 10 | for (i, ) in points.iter().enumerate().skip(1) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `utils::id_allocator::IdAllocator` [INFO] [stderr] --> src/utils/id_allocator.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn new() -> Self { [INFO] [stderr] 36 | | IdAllocator { [INFO] [stderr] 37 | | generator: Slab::new(), [INFO] [stderr] 38 | | generation: 1, [INFO] [stderr] 39 | | generation_used: false, [INFO] [stderr] 40 | | } [INFO] [stderr] 41 | | } [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] 27 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/utils/point_in_poly2d.rs:6:8 [INFO] [stderr] | [INFO] [stderr] 6 | if poly.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `poly.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: transmute from a reference to a reference [INFO] [stderr] --> src/utils/sorted_pair.rs:24:18 [INFO] [stderr] | [INFO] [stderr] 24 | unsafe { mem::transmute(self) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self as *const utils::sorted_pair::SortedPair as *const (T, T))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `utils::deterministic_state::DeterministicState` [INFO] [stderr] --> src/utils/deterministic_state.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn new() -> DeterministicState { [INFO] [stderr] 10 | | DeterministicState [INFO] [stderr] 11 | | } [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] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to 10 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `ncollide2d`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "d17133f4717b6a8543079817957e5793ea05ace8c98d0acbc4d5e26fb259eb27"` [INFO] running `"docker" "rm" "-f" "d17133f4717b6a8543079817957e5793ea05ace8c98d0acbc4d5e26fb259eb27"` [INFO] [stdout] d17133f4717b6a8543079817957e5793ea05ace8c98d0acbc4d5e26fb259eb27