[INFO] updating cached repository yggie/mach [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/yggie/mach [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/yggie/mach" "work/ex/clippy-test-run/sources/stable/gh/yggie/mach"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/yggie/mach'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/yggie/mach" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/yggie/mach"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/yggie/mach'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b1c15026e0f31117d0d54ee6eeaeadd3e94a3d92 [INFO] sha for GitHub repo yggie/mach: b1c15026e0f31117d0d54ee6eeaeadd3e94a3d92 [INFO] validating manifest of yggie/mach 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 yggie/mach 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 yggie/mach [INFO] finished frobbing yggie/mach [INFO] frobbed toml for yggie/mach written to work/ex/clippy-test-run/sources/stable/gh/yggie/mach/Cargo.toml [INFO] started frobbing yggie/mach [INFO] finished frobbing yggie/mach [INFO] frobbed toml for yggie/mach written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/yggie/mach/Cargo.toml [INFO] crate yggie/mach has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting yggie/mach against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/yggie/mach:/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] bff074ef79e302f0c804644386fe3b72b7a1647fe39aa5bd5fecddc67370bf59 [INFO] running `"docker" "start" "-a" "bff074ef79e302f0c804644386fe3b72b7a1647fe39aa5bd5fecddc67370bf59"` [INFO] [stderr] Compiling libc v0.2.18 [INFO] [stderr] Compiling phf_shared v0.7.20 [INFO] [stderr] Compiling itoa v0.1.1 [INFO] [stderr] Compiling dtoa v0.2.2 [INFO] [stderr] Compiling serde v0.8.21 [INFO] [stderr] Compiling num-traits v0.1.36 [INFO] [stderr] Compiling bitflags v0.7.0 [INFO] [stderr] Compiling log v0.3.6 [INFO] [stderr] Compiling gcc v0.3.41 [INFO] [stderr] Compiling khronos_api v1.0.0 [INFO] [stderr] Compiling pkg-config v0.3.8 [INFO] [stderr] Checking crossbeam v0.2.10 [INFO] [stderr] Checking rustc-serialize v0.3.22 [INFO] [stderr] Checking cfg-if v0.1.0 [INFO] [stderr] Checking rustc-demangle v0.1.3 [INFO] [stderr] Checking smallvec v0.1.8 [INFO] [stderr] Checking mach v0.0.1 (/opt/crater/workdir) [INFO] [stderr] Compiling xml-rs v0.3.5 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/custom_world.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | gravity: gravity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `gravity` [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/custom_world.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | detection: detection, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `detection` [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/custom_world.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | integrator: integrator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `integrator` [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/custom_world.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | broadphase: broadphase, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `broadphase` [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/custom_world.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | constraint_solver: constraint_solver, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `constraint_solver` [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/surface.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | 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/utils/unique_vec_3d_generator.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | next_func: next_func, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `next_func` [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/compute_surfaces_for_convex_hull.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/compute_surfaces_for_convex_hull.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | 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/utils/compute_surfaces_for_convex_hull.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | direction: direction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `direction` [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/maths/motion.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | velocity: velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `velocity` [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/maths/motion.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | angular_velocity: angular_velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `angular_velocity` [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/maths/motion.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | velocity: velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `velocity` [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/maths/motion.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | angular_velocity: angular_velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `angular_velocity` [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/maths/transform.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | translation: translation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `translation` [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/maths/transform.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | rotation: rotation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `rotation` [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/maths/transform.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | translation: translation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `translation` [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/maths/transform.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | rotation: rotation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `rotation` [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/maths/lcp.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | bias: bias, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `bias` [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/maths/lcp.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | solution: solution, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `solution` [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/maths/quat.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [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/maths/quat.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | i: i, [INFO] [stderr] | ^^^^ help: replace it with: `i` [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/maths/quat.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | j: j, [INFO] [stderr] | ^^^^ help: replace it with: `j` [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/maths/quat.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | k: k, [INFO] [stderr] | ^^^^ help: replace it with: `k` [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/maths/vec_3d.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/maths/vec_3d.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/maths/vec_3d.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | z: z, [INFO] [stderr] | ^^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/maths/sparse_matrix.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/maths/sparse_matrix.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | elements: elements, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `elements` [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/maths/coordinate_transform.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | x_axis: x_axis, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `x_axis` [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/maths/coordinate_transform.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | y_axis: y_axis, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `y_axis` [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/maths/_2d/vec_2d.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/maths/_2d/vec_2d.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/maths/lcp_solvers/gauss_seidel.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | problem: problem, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `problem` [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/dynamics/integrators/integratable.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | transform: transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [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/dynamics/integrators/integratable.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | motion: motion, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `motion` [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/algorithms/panic_on_iteration.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | limit: limit, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `limit` [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/collisions/body_data.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/collisions/body_data.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | collision_data: collision_data, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `collision_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/collisions/body_data.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | narrowphase_data: narrowphase_data, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `narrowphase_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/collisions/collision_data.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | 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/collisions/collision_data.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | transform: transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [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/collisions/shapes/ray.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | source: source, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `source` [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/collisions/shapes/ray.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | direction: direction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `direction` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/collisions/shapes/ray.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | let d = ray_0.direction().dot(w); [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/collisions/shapes/ray.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | let e = ray_1.direction().dot(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: redundant field names in struct initialization [INFO] [stderr] --> src/collisions/shapes/face.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | indices: indices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `indices` [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/collisions/shapes/face.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/collisions/shapes/plane.rs:13:13 [INFO] [stderr] | [INFO] [stderr] 13 | 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/collisions/shapes/plane.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | 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/collisions/shapes/_2d/line_2d.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/collisions/shapes/_2d/line_2d.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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/collisions/shapes/_2d/ray_2d.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | source: source, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `source` [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/collisions/shapes/_2d/ray_2d.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | direction: direction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `direction` [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/collisions/shapes/_2d/edge_2d.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/collisions/shapes/_2d/edge_2d.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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/collisions/shapes/_2d/plane_2d.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | 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/collisions/shapes/_2d/plane_2d.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | reference_point: reference_point, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reference_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/collisions/shapes/convex_shapes/sphere.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | 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/collisions/shapes/convex_shapes/triangle_mesh.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/collisions/shapes/convex_shapes/triangle_mesh.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | unique_nodes: unique_nodes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `unique_nodes` [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/collisions/shapes/convex_shapes/convex_polyhedron.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/collisions/shapes/convex_shapes/convex_polyhedron.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | triangulated_faces: triangulated_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `triangulated_faces` [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/collisions/shapes/convex_shapes/convex_polyhedron.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | triangulated_faces: triangulated_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `triangulated_faces` [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/collisions/detection/contact.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | set: set, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `set` [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/collisions/detection/contact_set.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | plane: plane, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `plane` [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/collisions/detection/contact_set.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | points: points, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `points` [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/collisions/detection/gjkepa/epa.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | diff: diff, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `diff` [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/collisions/detection/gjkepa/epa.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | triangulated_faces: triangulated_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `triangulated_faces` [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/collisions/detection/gjkepa/gjk.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | diff: diff, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `diff` [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/collisions/detection/gjkepa/gjk.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | simplex: simplex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `simplex` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collisions/detection/gjkepa/gjk.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | intersection_tolerance: intersection_tolerance, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `intersection_tolerance` [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/collisions/detection/gjkepa/contact_tracker.rs:33:21 [INFO] [stderr] | [INFO] [stderr] 33 | simplex: simplex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `simplex` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] Compiling phf v0.7.20 [INFO] [stderr] Compiling rand v0.3.15 [INFO] [stderr] Checking memchr v0.1.11 [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/custom_world.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | return contacts; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `contacts` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/custom_world.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/utils/surface.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / return Surface { [INFO] [stderr] 32 | | normal: normal, [INFO] [stderr] 33 | | nodes: [index_0, index_1, index_2], [INFO] [stderr] 34 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 31 | Surface { [INFO] [stderr] 32 | normal: normal, [INFO] [stderr] 33 | nodes: [index_0, index_1, index_2], [INFO] [stderr] 34 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/surface.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | / return surface.nodes.iter() [INFO] [stderr] 41 | | .fold(Vec3D::zero(), |total, &index| { [INFO] [stderr] 42 | | total + vertices[index] [INFO] [stderr] 43 | | }) / 3.0; [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 40 | surface.nodes.iter() [INFO] [stderr] 41 | .fold(Vec3D::zero(), |total, &index| { [INFO] [stderr] 42 | total + vertices[index] [INFO] [stderr] 43 | }) / 3.0 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/is_coplanar.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / return remaining_points.all(|&point| { [INFO] [stderr] 14 | | plane.normal_projection_of(point).is_approximately_zero() [INFO] [stderr] 15 | | }); [INFO] [stderr] | |_______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 13 | remaining_points.all(|&point| { [INFO] [stderr] 14 | plane.normal_projection_of(point).is_approximately_zero() [INFO] [stderr] 15 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/utils/unit_vec_3d_generator.rs:4:29 [INFO] [stderr] | [INFO] [stderr] 4 | static POLAR_STEP: Scalar = 2.23725224525; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `2.237_252_245_25` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/utils/unit_vec_3d_generator.rs:5:31 [INFO] [stderr] | [INFO] [stderr] 5 | static AZIMUTH_STEP: Scalar = 1.01862612263; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `1.018_626_122_63` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | return surfaces; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `surfaces` [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/utils/compute_surfaces_for_convex_hull.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | return (ref_x, ref_y); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(ref_x, ref_y)` [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/utils/compute_surfaces_for_convex_hull.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | return (surface, available_nodes, free_edge_list); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(surface, available_nodes, free_edge_list)` [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/utils/compute_surfaces_for_convex_hull.rs:222:5 [INFO] [stderr] | [INFO] [stderr] 222 | / return node_with_max_gradient [INFO] [stderr] 223 | | .and_then(|original| { [INFO] [stderr] 224 | | let node = original.1; [INFO] [stderr] 225 | | if node.on_edge { [INFO] [stderr] ... | [INFO] [stderr] 243 | | } [INFO] [stderr] 244 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 222 | node_with_max_gradient [INFO] [stderr] 223 | .and_then(|original| { [INFO] [stderr] 224 | let node = original.1; [INFO] [stderr] 225 | if node.on_edge { [INFO] [stderr] 226 | let is_valid_node_for_edge = edge_list.iter() [INFO] [stderr] 227 | .any(|edge| { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:205:17 [INFO] [stderr] | [INFO] [stderr] 205 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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/utils/compute_surfaces_for_convex_hull.rs:208:17 [INFO] [stderr] | [INFO] [stderr] 208 | return Some((node_index, node, gradient)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some((node_index, node, gradient))` [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/utils/compute_surfaces_for_convex_hull.rs:236:13 [INFO] [stderr] | [INFO] [stderr] 236 | return Some(original); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(original)` [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/utils/compute_surfaces_for_convex_hull.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | return (new_surface, [new_edges.remove(0), new_edges.remove(0)]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(new_surface, [new_edges.remove(0), new_edges.remove(0)])` [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/maths/lcp.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / return LCP { [INFO] [stderr] 28 | | bias: bias, [INFO] [stderr] 29 | | matrix: SparseMatrix::new(size), [INFO] [stderr] 30 | | solution: solution, [INFO] [stderr] 31 | | value_constraints: constraints, [INFO] [stderr] 32 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 27 | LCP { [INFO] [stderr] 28 | bias: bias, [INFO] [stderr] 29 | matrix: SparseMatrix::new(size), [INFO] [stderr] 30 | solution: solution, [INFO] [stderr] 31 | value_constraints: constraints, [INFO] [stderr] 32 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/vec_3d.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | / return Matrix::new( [INFO] [stderr] 64 | | self.x*other.x, self.x*other.y, self.x*other.z, [INFO] [stderr] 65 | | self.y*other.x, self.y*other.y, self.y*other.z, [INFO] [stderr] 66 | | self.z*other.x, self.z*other.y, self.z*other.z, [INFO] [stderr] 67 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 63 | Matrix::new( [INFO] [stderr] 64 | self.x*other.x, self.x*other.y, self.x*other.z, [INFO] [stderr] 65 | self.y*other.x, self.y*other.y, self.y*other.z, [INFO] [stderr] 66 | self.z*other.x, self.z*other.y, self.z*other.z, [INFO] [stderr] 67 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/matrix.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | / return self[0]*(self[4]*self[8] - self[5]*self[7]) - [INFO] [stderr] 99 | | self[1]*(self[3]*self[8] - self[5]*self[6]) + [INFO] [stderr] 100 | | self[2]*(self[3]*self[7] - self[4]*self[6]); [INFO] [stderr] | |___________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 98 | self[0]*(self[4]*self[8] - self[5]*self[7]) - [INFO] [stderr] 99 | self[1]*(self[3]*self[8] - self[5]*self[6]) + [INFO] [stderr] 100 | self[2]*(self[3]*self[7] - self[4]*self[6]) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/matrix.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | / return Matrix::new( [INFO] [stderr] 106 | | self[4]*self[8] - self[5]*self[7], [INFO] [stderr] 107 | | self[2]*self[7] - self[1]*self[8], [INFO] [stderr] 108 | | self[1]*self[5] - self[2]*self[4], [INFO] [stderr] ... | [INFO] [stderr] 114 | | self[0]*self[4] - self[1]*self[3], [INFO] [stderr] 115 | | ) / self.determinant(); [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 105 | Matrix::new( [INFO] [stderr] 106 | self[4]*self[8] - self[5]*self[7], [INFO] [stderr] 107 | self[2]*self[7] - self[1]*self[8], [INFO] [stderr] 108 | self[1]*self[5] - self[2]*self[4], [INFO] [stderr] 109 | self[5]*self[6] - self[3]*self[8], [INFO] [stderr] 110 | self[0]*self[8] - self[2]*self[6], [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/matrix.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | 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/maths/matrix.rs:229:9 [INFO] [stderr] | [INFO] [stderr] 229 | / return Matrix::new( [INFO] [stderr] 230 | | self[0]/scalar, [INFO] [stderr] 231 | | self[1]/scalar, [INFO] [stderr] 232 | | self[2]/scalar, [INFO] [stderr] ... | [INFO] [stderr] 238 | | self[8]/scalar, [INFO] [stderr] 239 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 229 | Matrix::new( [INFO] [stderr] 230 | self[0]/scalar, [INFO] [stderr] 231 | self[1]/scalar, [INFO] [stderr] 232 | self[2]/scalar, [INFO] [stderr] 233 | self[3]/scalar, [INFO] [stderr] 234 | self[4]/scalar, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/matrix.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | / return Matrix::new( [INFO] [stderr] 251 | | self[0]*scalar, [INFO] [stderr] 252 | | self[1]*scalar, [INFO] [stderr] 253 | | self[2]*scalar, [INFO] [stderr] ... | [INFO] [stderr] 259 | | self[8]*scalar, [INFO] [stderr] 260 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 250 | Matrix::new( [INFO] [stderr] 251 | self[0]*scalar, [INFO] [stderr] 252 | self[1]*scalar, [INFO] [stderr] 253 | self[2]*scalar, [INFO] [stderr] 254 | self[3]*scalar, [INFO] [stderr] 255 | self[4]*scalar, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/matrix.rs:309:9 [INFO] [stderr] | [INFO] [stderr] 309 | return Matrix { elements: elems }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Matrix { elements: elems }` [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/maths/unit_quat.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | return UnitQuat(Quat::new(c, s*axis.x, s*axis.y, s*axis.z)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `UnitQuat(Quat::new(c, s*axis.x, s*axis.y, s*axis.z))` [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/maths/unit_quat.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | return Vec3D::new(result.i, result.j, result.k); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Vec3D::new(result.i, result.j, result.k)` [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/maths/sparse_matrix.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | / return SparseMatrix { [INFO] [stderr] 25 | | size: size, [INFO] [stderr] 26 | | elements: elements, [INFO] [stderr] 27 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 24 | SparseMatrix { [INFO] [stderr] 25 | size: size, [INFO] [stderr] 26 | elements: elements, [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dynamics/solvers/mach_constraint_solver.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | return (problem, friction_directions); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(problem, friction_directions)` [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/algorithms/execute.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | return self.result(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.result()` [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/collisions/collision_data.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/collisions/shapes/ray.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | return (closest_point_0 + closest_point_1) / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(closest_point_0 + closest_point_1) / 2.0` [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/collisions/shapes/support_map.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | return Box::new(boundary_points.into_iter()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(boundary_points.into_iter())` [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/collisions/shapes/support_map.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | return Box::new(points.into_iter()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(points.into_iter())` [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/collisions/shapes/_2d/polygon.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | / return points.iter() [INFO] [stderr] 121 | | .enumerate() [INFO] [stderr] 122 | | .skip(1) [INFO] [stderr] 123 | | .fold((0, initial_projection), |(index_of_max, max_projection), (i, point)| { [INFO] [stderr] ... | [INFO] [stderr] 127 | | } [INFO] [stderr] 128 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 120 | points.iter() [INFO] [stderr] 121 | .enumerate() [INFO] [stderr] 122 | .skip(1) [INFO] [stderr] 123 | .fold((0, initial_projection), |(index_of_max, max_projection), (i, point)| { [INFO] [stderr] 124 | match normal.dot(point) { [INFO] [stderr] 125 | x if x > max_projection => (i, x), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:134:5 [INFO] [stderr] | [INFO] [stderr] 134 | return index; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `index` [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/collisions/shapes/_2d/intersections/line_and_polygon_2d_intersection.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | / return line.as_ray().intersection(polygon).and_then(|intersection_0| { [INFO] [stderr] 11 | | line.as_ray_from_end().reversed().intersection(polygon) [INFO] [stderr] 12 | | .map(move |intersection_1| (intersection_0.0, intersection_1.0)) [INFO] [stderr] 13 | | }).map(|intersections| { [INFO] [stderr] 14 | | return Line2D::new(intersections.0, intersections.1); [INFO] [stderr] 15 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 10 | line.as_ray().intersection(polygon).and_then(|intersection_0| { [INFO] [stderr] 11 | line.as_ray_from_end().reversed().intersection(polygon) [INFO] [stderr] 12 | .map(move |intersection_1| (intersection_0.0, intersection_1.0)) [INFO] [stderr] 13 | }).map(|intersections| { [INFO] [stderr] 14 | return Line2D::new(intersections.0, intersections.1); [INFO] [stderr] 15 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/shapes/_2d/intersections/line_and_polygon_2d_intersection.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | return Line2D::new(intersections.0, intersections.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Line2D::new(intersections.0, intersections.1)` [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/collisions/shapes/_2d/intersections/polygon_and_polygon_2d_intersection.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [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/collisions/shapes/convex_shapes/cuboid.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | / return Matrix::new( [INFO] [stderr] 92 | | (yy + zz)/12.0, 0.0, 0.0, [INFO] [stderr] 93 | | 0.0, (xx + zz)/12.0, 0.0, [INFO] [stderr] 94 | | 0.0, 0.0, (xx + yy)/12.0, [INFO] [stderr] 95 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 91 | Matrix::new( [INFO] [stderr] 92 | (yy + zz)/12.0, 0.0, 0.0, [INFO] [stderr] 93 | 0.0, (xx + zz)/12.0, 0.0, [INFO] [stderr] 94 | 0.0, 0.0, (xx + yy)/12.0, [INFO] [stderr] 95 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/shapes/convex_shapes/cuboid.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | return max_indices; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `max_indices` [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/collisions/shapes/convex_shapes/sphere.rs:103:17 [INFO] [stderr] | [INFO] [stderr] 103 | return Some(value); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(value)` [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/collisions/shapes/convex_shapes/sphere.rs:106:21 [INFO] [stderr] | [INFO] [stderr] 106 | None => return None, [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [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/collisions/shapes/convex_shapes/convex_shape.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | return Box::new(vec.into_iter()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(vec.into_iter())` [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/collisions/shapes/convex_shapes/convex_polyhedron.rs:44:21 [INFO] [stderr] | [INFO] [stderr] 44 | return surface.nodes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `surface.nodes` [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/collisions/shapes/convex_shapes/convex_polyhedron.rs:46:21 [INFO] [stderr] | [INFO] [stderr] 46 | return [surface.nodes[2], surface.nodes[1], surface.nodes[0]]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `[surface.nodes[2], surface.nodes[1], surface.nodes[0]]` [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/collisions/shapes/convex_shapes/convex_polyhedron.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/collisions/detection/mod.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | mod detection; [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: unneeded return statement [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | / return match (feature_0, feature_1) { [INFO] [stderr] 178 | | (Feature::Vertex(vertex), _other) => { [INFO] [stderr] 179 | | let correction = contact_normal * penetration_depth / 2.0; [INFO] [stderr] 180 | | let contact_point = vertex - correction; [INFO] [stderr] ... | [INFO] [stderr] 221 | | }, [INFO] [stderr] 222 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 177 | match (feature_0, feature_1) { [INFO] [stderr] 178 | (Feature::Vertex(vertex), _other) => { [INFO] [stderr] 179 | let correction = contact_normal * penetration_depth / 2.0; [INFO] [stderr] 180 | let contact_point = vertex - correction; [INFO] [stderr] 181 | [INFO] [stderr] 182 | ContactSet::new( [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | / return ContactSet::new( [INFO] [stderr] 244 | | Plane::new(contact_point_0, contact_plane.normal()), [INFO] [stderr] 245 | | vec!(contact_point_0, contact_point_1), [INFO] [stderr] 246 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 243 | ContactSet::new( [INFO] [stderr] 244 | Plane::new(contact_point_0, contact_plane.normal()), [INFO] [stderr] 245 | vec!(contact_point_0, contact_point_1), [INFO] [stderr] 246 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:263:9 [INFO] [stderr] | [INFO] [stderr] 263 | / return ContactSet::new( [INFO] [stderr] 264 | | Plane::new(points[0], contact_plane.normal()), [INFO] [stderr] 265 | | points, [INFO] [stderr] 266 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 263 | ContactSet::new( [INFO] [stderr] 264 | Plane::new(points[0], contact_plane.normal()), [INFO] [stderr] 265 | points, [INFO] [stderr] 266 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:288:5 [INFO] [stderr] | [INFO] [stderr] 288 | return (polygon, average_z); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(polygon, average_z)` [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: unused import: `Vec3D` [INFO] [stderr] --> src/collisions/detection/gjkepa/gjk.rs:2:29 [INFO] [stderr] | [INFO] [stderr] 2 | use maths::{Approximations, Vec3D}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/detection/gjkepa/gjk_simplex.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/collisions/detection/gjkepa/gjk_simplex.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | return (indices.0, Plane::new(vertices.0, normal)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(indices.0, Plane::new(vertices.0, 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/collisions/detection/gjkepa/minkowski_difference.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/collisions/broadphase/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod broadphase; [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/collisions/broadphase/brute_force_broadphase.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | return Box::new(pairs.into_iter()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(pairs.into_iter())` [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/collisions/narrowphase/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod narrowphase; [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/collisions/collisionobjectspace/collision_object_space.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/collisions/collisionobjectspace/collision_object_space.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/collisions/collisionobjectspace/mach_collision_object_space.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | return handle; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `handle` [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] Checking shared_library v0.1.5 [INFO] [stderr] Compiling backtrace-sys v0.1.5 [INFO] [stderr] Compiling x11-dl v2.12.0 [INFO] [stderr] warning: unused variable: `sphere` [INFO] [stderr] --> src/collisions/shapes/convex_shapes/intersections/ray_sphere_intersection.rs:8:28 [INFO] [stderr] | [INFO] [stderr] 8 | fn intersection(&self, sphere: &Sphere) -> Option { [INFO] [stderr] | ^^^^^^ help: consider using `_sphere` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ray` [INFO] [stderr] --> src/collisions/broadphase/brute_force_broadphase.rs:97:31 [INFO] [stderr] | [INFO] [stderr] 97 | fn cast_ray<'a>(&'a self, ray: &Ray) -> Box> + 'a> { [INFO] [stderr] | ^^^ help: consider using `_ray` instead [INFO] [stderr] [INFO] [stderr] Compiling tempfile v2.1.4 [INFO] [stderr] warning: you should consider adding a `Default` implementation for `mach_world::MachWorld` [INFO] [stderr] --> src/mach_world.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> MachWorld { [INFO] [stderr] 23 | | let world = CustomWorld::new( [INFO] [stderr] 24 | | GJKEPADetection::new(), [INFO] [stderr] 25 | | SemiImplicitEuler::new(), [INFO] [stderr] ... | [INFO] [stderr] 31 | | MachWorld(world) [INFO] [stderr] 32 | | } [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] 21 | impl Default for mach_world::MachWorld { [INFO] [stderr] 22 | fn default() -> Self { [INFO] [stderr] 23 | Self::new() [INFO] [stderr] 24 | } [INFO] [stderr] 25 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/custom_world.rs:60:12 [INFO] [stderr] | [INFO] [stderr] 60 | if contacts.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!contacts.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: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/custom_world.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | / self.broadphase.cast_ray(ray).filter(move |body| { [INFO] [stderr] 127 | | match body.shape().downcast() { [INFO] [stderr] 128 | | ShapeRef::Sphere(sphere) => { [INFO] [stderr] 129 | | sphere.fast_intersection(ray) [INFO] [stderr] ... | [INFO] [stderr] 133 | | } [INFO] [stderr] 134 | | }).next() [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/surface.rs:15:26 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new(vertices: &Vec, index_0: usize, index_1: usize, index_2: usize) -> Surface { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec3D]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/surface.rs:39:58 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn compute_centroid(surface: &Surface, vertices: &Vec) -> Vec3D { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec3D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/utils/is_coplanar.rs:11:28 [INFO] [stderr] | [INFO] [stderr] 11 | let plane = Plane::new(first.clone(), normal); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*first` [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: float has excessive precision [INFO] [stderr] --> src/utils/unit_vec_3d_generator.rs:4:29 [INFO] [stderr] | [INFO] [stderr] 4 | static POLAR_STEP: Scalar = 2.23725224525; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `2.237_252_2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::excessive_precision)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/utils/unit_vec_3d_generator.rs:5:31 [INFO] [stderr] | [INFO] [stderr] 5 | static AZIMUTH_STEP: Scalar = 1.01862612263; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `1.018_626_1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `utils::unit_vec_3d_generator::UnitVec3DGenerator` [INFO] [stderr] --> src/utils/unit_vec_3d_generator.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / pub fn new() -> UnitVec3DGenerator { [INFO] [stderr] 14 | | UnitVec3DGenerator { [INFO] [stderr] 15 | | polar: -POLAR_STEP, [INFO] [stderr] 16 | | azimuth: -AZIMUTH_STEP, [INFO] [stderr] 17 | | } [INFO] [stderr] 18 | | } [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] 7 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:11:51 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn compute_surfaces_for_convex_hull(vertices: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec3D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | counter = counter + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `counter += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:111:22 [INFO] [stderr] | [INFO] [stderr] 111 | fn new(vertices: &Vec, surface: &Surface, index_0: usize, index_1: usize) -> DirectedEdge { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec3D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:156:33 [INFO] [stderr] | [INFO] [stderr] 156 | fn initialize_surface(vertices: &Vec) -> (Surface, Vec, Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec3D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:197:47 [INFO] [stderr] | [INFO] [stderr] 197 | fn select_best_node_for_edge(available_nodes: &Vec, edge_list: &Vec, current_edge: DirectedEdge) -> Option { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Node]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:197:70 [INFO] [stderr] | [INFO] [stderr] 197 | fn select_best_node_for_edge(available_nodes: &Vec, edge_list: &Vec, current_edge: DirectedEdge) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[DirectedEdge]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:247:36 [INFO] [stderr] | [INFO] [stderr] 247 | fn new_surface_from_edge(vertices: &Vec, edge: DirectedEdge, vertex_index: usize) -> (Surface, [DirectedEdge; 2]) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec3D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/maths/quat.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | UnitQuat::from_quat(self.clone()) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [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: needlessly taken reference of left operand [INFO] [stderr] --> src/maths/quat.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | &self * s [INFO] [stderr] | -----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `self` [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: needlessly taken reference of left operand [INFO] [stderr] --> src/maths/quat.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | &self / s [INFO] [stderr] | -----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/maths/vec_3d.rs:46:25 [INFO] [stderr] | [INFO] [stderr] 46 | UnitVec3D::from(self.clone()) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [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: needlessly taken reference of left operand [INFO] [stderr] --> src/maths/vec_3d.rs:229:9 [INFO] [stderr] | [INFO] [stderr] 229 | &self * s [INFO] [stderr] | -----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/maths/vec_3d.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | &vector * self [INFO] [stderr] | -------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `vector` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/maths/matrix.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new(m11: Scalar, m12: Scalar, m13: Scalar, m21: Scalar, m22: Scalar, m23: Scalar, m31: Scalar, m32: Scalar, m33: Scalar) -> Matrix { [INFO] [stderr] 21 | | Matrix { [INFO] [stderr] 22 | | elements: [ [INFO] [stderr] 23 | | m11, [INFO] [stderr] ... | [INFO] [stderr] 33 | | } [INFO] [stderr] 34 | | } [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/maths/matrix.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | / fn index<'a>(&'a self, index: usize) -> &'a Scalar { [INFO] [stderr] 163 | | &self.elements[index] [INFO] [stderr] 164 | | } [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/maths/matrix.rs:172:5 [INFO] [stderr] | [INFO] [stderr] 172 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut Scalar { [INFO] [stderr] 173 | | &mut self.elements[index] [INFO] [stderr] 174 | | } [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: taken reference of right operand [INFO] [stderr] --> src/maths/matrix.rs:286:9 [INFO] [stderr] | [INFO] [stderr] 286 | self * &vect [INFO] [stderr] | ^^^^^^^----- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `vect` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/maths/approximations.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | self > TOLERANCE as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(TOLERANCE)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/maths/approximations.rs:34:16 [INFO] [stderr] | [INFO] [stderr] 34 | self < -TOLERANCE as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(-TOLERANCE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/maths/approximations.rs:39:22 [INFO] [stderr] | [INFO] [stderr] 39 | self.abs() < TOLERANCE as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(TOLERANCE)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/maths/_2d/vec_2d.rs:33:22 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn rotate_90(&self) -> Vec2D { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/maths/_2d/vec_2d.rs:38:27 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn squared_length(&self) -> Scalar { [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/maths/_2d/vec_2d.rs:43:19 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn length(&self) -> Scalar { [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/maths/_2d/vec_2d.rs:48:22 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn normalize(&self) -> UnitVec2D { [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/maths/_2d/vec_2d.rs:49:25 [INFO] [stderr] | [INFO] [stderr] 49 | UnitVec2D::from(self.clone()) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/maths/_2d/unit_vec_2d.rs:28:22 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn rotate_90(&self) -> UnitVec2D { [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/maths/_2d/unit_vec_2d.rs:32:22 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn rotate_by(&self, radians: Scalar) -> UnitVec2D { [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: taken reference of right operand [INFO] [stderr] --> src/maths/_2d/unit_vec_2d.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | scalar * (&self.0) [INFO] [stderr] | ^^^^^^^^^--------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.0` [INFO] [stderr] | [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/maths/lcp_solvers/gauss_seidel.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | delta = delta + self.problem.matrix(i, j) * self.problem.solution(j); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `delta += self.problem.matrix(i, j) * self.problem.solution(j)` [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/maths/lcp_solvers/gauss_seidel.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | delta = delta + self.problem.matrix(i, j) * self.problem.solution(j); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `delta += self.problem.matrix(i, j) * self.problem.solution(j)` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/dynamics/rigid_body_ref.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | / pub fn integratable<'b>(&'b mut self) -> Integratable<'b> { [INFO] [stderr] 84 | | Integratable::new(self.0.transform_mut(), self.1.motion_mut()) [INFO] [stderr] 85 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dynamics/dynamic_body_ref.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | / match body.dynamic_extension_data() { [INFO] [stderr] 16 | | &DynamicBodyExtension::Rigid(ref data) => { [INFO] [stderr] 17 | | DynamicBodyRef::Rigid(RigidBodyRef::new(body.data(), data)) [INFO] [stderr] 18 | | }, [INFO] [stderr] ... | [INFO] [stderr] 22 | | }, [INFO] [stderr] 23 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 15 | match *body.dynamic_extension_data() { [INFO] [stderr] 16 | DynamicBodyExtension::Rigid(ref data) => { [INFO] [stderr] 17 | DynamicBodyRef::Rigid(RigidBodyRef::new(body.data(), data)) [INFO] [stderr] 18 | }, [INFO] [stderr] 19 | [INFO] [stderr] 20 | DynamicBodyExtension::Fixed(ref data) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dynamics/dynamic_body_ref.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / match dynamic_extension { [INFO] [stderr] 32 | | &mut DynamicBodyExtension::Rigid(ref mut data) => { [INFO] [stderr] 33 | | DynamicBodyRefMut::Rigid(RigidBodyRefMut::new(body_data, data)) [INFO] [stderr] 34 | | }, [INFO] [stderr] ... | [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#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 31 | match *dynamic_extension { [INFO] [stderr] 32 | DynamicBodyExtension::Rigid(ref mut data) => { [INFO] [stderr] 33 | DynamicBodyRefMut::Rigid(RigidBodyRefMut::new(body_data, data)) [INFO] [stderr] 34 | }, [INFO] [stderr] 35 | [INFO] [stderr] 36 | DynamicBodyExtension::Fixed(ref mut data) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dynamics/dynamic_body_extension.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | / match self { [INFO] [stderr] 11 | | &DynamicBodyExtension::Rigid(ref rigid_body_data) => [INFO] [stderr] 12 | | rigid_body_data.extension_data(), [INFO] [stderr] 13 | | [INFO] [stderr] 14 | | &DynamicBodyExtension::Fixed(ref fixed_body_data) => [INFO] [stderr] 15 | | fixed_body_data.extension_data(), [INFO] [stderr] 16 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 10 | match *self { [INFO] [stderr] 11 | DynamicBodyExtension::Rigid(ref rigid_body_data) => [INFO] [stderr] 12 | rigid_body_data.extension_data(), [INFO] [stderr] 13 | [INFO] [stderr] 14 | DynamicBodyExtension::Fixed(ref fixed_body_data) => [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dynamics/dynamic_body_extension.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | / match self { [INFO] [stderr] 21 | | &mut DynamicBodyExtension::Rigid(ref mut rigid_body_data) => [INFO] [stderr] 22 | | rigid_body_data.extension_data_mut(), [INFO] [stderr] 23 | | [INFO] [stderr] 24 | | &mut DynamicBodyExtension::Fixed(ref mut fixed_body_data) => [INFO] [stderr] 25 | | fixed_body_data.extension_data_mut(), [INFO] [stderr] 26 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 20 | match *self { [INFO] [stderr] 21 | DynamicBodyExtension::Rigid(ref mut rigid_body_data) => [INFO] [stderr] 22 | rigid_body_data.extension_data_mut(), [INFO] [stderr] 23 | [INFO] [stderr] 24 | DynamicBodyExtension::Fixed(ref mut fixed_body_data) => [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/dynamics/solvers/constraint_solver.rs:6:49 [INFO] [stderr] | [INFO] [stderr] 6 | fn solve_with_contacts(&mut self, contacts: &Vec>, integrator: &I, time_step: Scalar); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Contact]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `dynamics::solvers::mach_constraint_solver::MachConstraintSolver` [INFO] [stderr] --> src/dynamics/solvers/mach_constraint_solver.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn new() -> MachConstraintSolver { [INFO] [stderr] 13 | | MachConstraintSolver [INFO] [stderr] 14 | | } [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] 9 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/dynamics/solvers/mach_constraint_solver.rs:16:35 [INFO] [stderr] | [INFO] [stderr] 16 | fn formulate_lcp(contacts: &Vec>, time_step: Scalar) -> (LCP, Vec) where T: DynamicBody { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Contact]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/dynamics/solvers/mach_constraint_solver.rs:153:113 [INFO] [stderr] | [INFO] [stderr] 153 | fn apply_lcp_solution(problem: LCP, friction_directions: Vec, time_step: Scalar, contacts: &Vec>, integrator: &I) where I: Integrator, T: DynamicBody { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Contact]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/dynamics/solvers/mach_constraint_solver.rs:270:39 [INFO] [stderr] | [INFO] [stderr] 270 | to_contact_center.0.cross(normal.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `normal` [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/dynamics/solvers/mach_constraint_solver.rs:271:39 [INFO] [stderr] | [INFO] [stderr] 271 | to_contact_center.1.cross(normal.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `normal` [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/dynamics/solvers/mach_constraint_solver.rs:290:48 [INFO] [stderr] | [INFO] [stderr] 290 | let k_scaled = to_contact_center.cross(normal.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `normal` [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 `dynamics::integrators::semi_implicit_euler::SemiImplicitEuler` [INFO] [stderr] --> src/dynamics/integrators/semi_implicit_euler.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / pub fn new() -> SemiImplicitEuler { [INFO] [stderr] 14 | | SemiImplicitEuler [INFO] [stderr] 15 | | } [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] 10 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/dynamics/integrators/semi_implicit_euler.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | let w = target.angular_velocity().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*target.angular_velocity()` [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/dynamics/integrators/semi_implicit_euler.rs:25:28 [INFO] [stderr] | [INFO] [stderr] 25 | let q = Quat::from(target.rotation().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `target.rotation()` [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/collisions/shapes/face.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | self.indices.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.indices` [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/collisions/shapes/support_map.rs:95:12 [INFO] [stderr] | [INFO] [stderr] 95 | if self.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.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: methods called `is_*` usually take self by reference or no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/collisions/shapes/line_projection.rs:15:27 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn is_before_line(self) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `is_*` usually take self by reference or no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/collisions/shapes/line_projection.rs:22:23 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn is_on_line(self) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `is_*` usually take self by reference or no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/collisions/shapes/line_projection.rs:29:26 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn is_after_line(self) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/collisions/shapes/_2d/ray_2d.rs:41:48 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn project_along_direction(&self, vec: &Vec2D) -> Scalar { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Vec2D` [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: taken reference of right operand [INFO] [stderr] --> src/collisions/shapes/_2d/ray_2d.rs:42:29 [INFO] [stderr] | [INFO] [stderr] 42 | self.direction.dot(&(vec - &self.source)) [INFO] [stderr] | ^^^^^^^------------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.source` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/collisions/shapes/_2d/ray_2d.rs:50:22 [INFO] [stderr] | [INFO] [stderr] 50 | Plane2D::new(self.source.clone(), self.counter_clockwise_normal()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.source` [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/collisions/shapes/_2d/edge_2d.rs:34:21 [INFO] [stderr] | [INFO] [stderr] 34 | Line2D::new(self.start.clone(), self.end.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.start` [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/collisions/shapes/_2d/edge_2d.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | Line2D::new(self.start.clone(), self.end.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.end` [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/collisions/shapes/_2d/edge_2d.rs:40:21 [INFO] [stderr] | [INFO] [stderr] 40 | Line2D::new(edge.start.clone(), edge.end.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*edge.start` [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/collisions/shapes/_2d/edge_2d.rs:40:41 [INFO] [stderr] | [INFO] [stderr] 40 | Line2D::new(edge.start.clone(), edge.end.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*edge.end` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:19:53 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn convex_hull_from_points(original_points: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec2D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:36:25 [INFO] [stderr] | [INFO] [stderr] 36 | total + original_points[index].clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `original_points[index]` [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/collisions/shapes/_2d/polygon.rs:67:26 [INFO] [stderr] | [INFO] [stderr] 67 | .map(|index| original_points[index].clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `original_points[index]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:117:51 [INFO] [stderr] | [INFO] [stderr] 117 | fn index_and_projection_of_furthest_along(points: &Vec, normal: &UnitVec2D) -> (usize, Scalar) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec2D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:117:72 [INFO] [stderr] | [INFO] [stderr] 117 | fn index_and_projection_of_furthest_along(points: &Vec, normal: &UnitVec2D) -> (usize, Scalar) { [INFO] [stderr] | ^^^^^^^^^^ help: consider passing by value instead: `UnitVec2D` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:131:36 [INFO] [stderr] | [INFO] [stderr] 131 | fn index_of_furthest_along(points: &Vec, normal: &UnitVec2D) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec2D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:131:57 [INFO] [stderr] | [INFO] [stderr] 131 | fn index_of_furthest_along(points: &Vec, normal: &UnitVec2D) -> usize { [INFO] [stderr] | ^^^^^^^^^^ help: consider passing by value instead: `UnitVec2D` [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/collisions/shapes/_2d/plane_2d.rs:32:46 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn normal_projection_of(&self, vec2: &Vec2D) -> Scalar { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Vec2D` [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: taken reference of right operand [INFO] [stderr] --> src/collisions/shapes/_2d/plane_2d.rs:33:26 [INFO] [stderr] | [INFO] [stderr] 33 | self.normal.dot(&(vec2 - &self.reference_point)) [INFO] [stderr] | ^^^^^^^^---------------------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.reference_point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/collisions/shapes/_2d/point_2d.rs:27:18 [INFO] [stderr] | [INFO] [stderr] 27 | unsafe { mem::transmute(self) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self as *const maths::_2d::vec_2d::Vec2D as *const collisions::shapes::_2d::point_2d::Point2D)` [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] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/collisions/shapes/_2d/intersections/ray_and_ray_2d_intersection.rs:15:27 [INFO] [stderr] | [INFO] [stderr] 15 | let directions = (rays.0.direction().vec().clone(), rays.1.direction().vec().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*rays.0.direction().vec()` [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/collisions/shapes/_2d/intersections/ray_and_ray_2d_intersection.rs:15:61 [INFO] [stderr] | [INFO] [stderr] 15 | let directions = (rays.0.direction().vec().clone(), rays.1.direction().vec().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*rays.1.direction().vec()` [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/collisions/shapes/_2d/intersections/polygon_and_polygon_2d_intersection.rs:34:20 [INFO] [stderr] | [INFO] [stderr] 34 | if intersections.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `intersections.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/collisions/shapes/_2d/intersections/polygon_and_polygon_2d_intersection.rs:59:20 [INFO] [stderr] | [INFO] [stderr] 59 | if intersections.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `intersections.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 are using an explicit closure for cloning elements [INFO] [stderr] --> src/collisions/shapes/convex_shapes/cuboid.rs:107:18 [INFO] [stderr] | [INFO] [stderr] 107 | Box::new(self.vertices.iter().map(|&a| a)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.vertices.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/collisions/shapes/convex_shapes/sphere.rs:33:19 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn radius(&self) -> Scalar { [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/collisions/shapes/convex_shapes/sphere.rs:81:18 [INFO] [stderr] | [INFO] [stderr] 81 | Box::new(self.clone()) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/collisions/shapes/convex_shapes/convex_shape.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | fn downcast<'a>(&'a self) -> ShapeRef<'a>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/collisions/shapes/convex_shapes/triangle_mesh.rs:26:28 [INFO] [stderr] | [INFO] [stderr] 26 | let unique_nodes = elements.iter() [INFO] [stderr] | ____________________________^ [INFO] [stderr] 27 | | .map(|&(i, j, k)| [i, j, k]) [INFO] [stderr] 28 | | .fold(HashMap::new(), |mut set, indices| { [INFO] [stderr] 29 | | for index in indices.iter() { [INFO] [stderr] ... | [INFO] [stderr] 36 | | .keys() [INFO] [stderr] 37 | | .map(|&a| a) [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 26 | let unique_nodes = elements.iter() [INFO] [stderr] 27 | .map(|&(i, j, k)| [i, j, k]) [INFO] [stderr] 28 | .fold(HashMap::new(), |mut set, indices| { [INFO] [stderr] 29 | for index in indices.iter() { [INFO] [stderr] 30 | if !set.contains_key(index) { [INFO] [stderr] 31 | set.insert(*index, ()); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/collisions/shapes/convex_shapes/convex_polyhedron.rs:75:21 [INFO] [stderr] | [INFO] [stderr] 75 | indices.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*indices` [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: called `cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:26:36 [INFO] [stderr] | [INFO] [stderr] 26 | let vertices: Vec = simplex.vertices().iter().cloned().collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_cloned_collect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | / self.diff.support_points_iter(Direction::from(plane.normal())) [INFO] [stderr] 95 | | .filter(|&point| { [INFO] [stderr] 96 | | // I don’t know why, but the uniqueness test is still [INFO] [stderr] 97 | | // required [INFO] [stderr] ... | [INFO] [stderr] 100 | | }) [INFO] [stderr] 101 | | .next() [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `collisions::detection::gjkepa::gjk_epa_detection::GJKEPADetection` [INFO] [stderr] --> src/collisions/detection/gjkepa/gjk_epa_detection.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | / pub fn new() -> GJKEPADetection { [INFO] [stderr] 15 | | GJKEPADetection { } [INFO] [stderr] 16 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 11 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `collisions::broadphase::brute_force_broadphase::BruteForceBroadphase` [INFO] [stderr] --> src/collisions/broadphase/brute_force_broadphase.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / pub fn new() -> BruteForceBroadphase { [INFO] [stderr] 14 | | BruteForceBroadphase(MachCollisionObjectSpace::new()) [INFO] [stderr] 15 | | } [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] 12 | impl Default for collisions::broadphase::brute_force_broadphase::BruteForceBroadphase { [INFO] [stderr] 13 | fn default() -> Self { [INFO] [stderr] 14 | Self::new() [INFO] [stderr] 15 | } [INFO] [stderr] 16 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/collisions/broadphase/brute_force_broadphase.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | / fn find<'a>(&'a self, id: ID) -> Option> { [INFO] [stderr] 20 | | self.0.find(id) [INFO] [stderr] 21 | | } [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/collisions/collisionobjectspace/collision_object_space.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | fn find<'a>(&'a self, id: ID) -> Option>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `collisions::collisionobjectspace::mach_collision_object_space::MachCollisionObjectSpace` [INFO] [stderr] --> src/collisions/collisionobjectspace/mach_collision_object_space.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | / pub fn new() -> MachCollisionObjectSpace { [INFO] [stderr] 16 | | // TODO let narrowphase_data = N::new(&collision_data); ?? [INFO] [stderr] 17 | | [INFO] [stderr] 18 | | MachCollisionObjectSpace { [INFO] [stderr] ... | [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_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/collisions/collisionobjectspace/mach_collision_object_space.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / fn find<'a>(&'a self, id: ID) -> Option> { [INFO] [stderr] 31 | | self.foreground_bodies.iter().find(|handle| handle.borrow().id() == id) [INFO] [stderr] 32 | | .or_else(|| self.environment_bodies.iter().find(|handle| handle.borrow().id() == id)) [INFO] [stderr] 33 | | .map(|handle| handle.borrow()) [INFO] [stderr] 34 | | } [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] Checking aho-corasick v0.5.3 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Compiling phf_generator v0.7.20 [INFO] [stderr] Checking thread-id v2.0.0 [INFO] [stderr] Checking fs2 v0.2.5 [INFO] [stderr] Checking time v0.1.35 [INFO] [stderr] Compiling wayland-scanner v0.5.11 [INFO] [stderr] Compiling gl_generator v0.5.2 [INFO] [stderr] Compiling phf_codegen v0.7.20 [INFO] [stderr] Checking backtrace v0.2.3 [INFO] [stderr] Checking thread_local v0.2.7 [INFO] [stderr] Checking memmap v0.2.3 [INFO] [stderr] Compiling target_build_utils v0.1.2 [INFO] [stderr] Checking regex v0.1.80 [INFO] [stderr] Compiling wayland-client v0.5.12 [INFO] [stderr] Compiling glutin v0.6.2 [INFO] [stderr] Compiling glium v0.15.0 [INFO] [stderr] Checking num-bigint v0.1.35 [INFO] [stderr] Checking num-complex v0.1.35 [INFO] [stderr] Compiling serde_json v0.8.4 [INFO] [stderr] Checking env_logger v0.3.5 [INFO] [stderr] Checking num-rational v0.1.35 [INFO] [stderr] Checking quickcheck v0.4.1 [INFO] [stderr] Checking num v0.1.36 [INFO] [stderr] Checking nalgebra v0.10.1 [INFO] [stderr] Compiling libloading v0.3.1 [INFO] [stderr] Checking dlib v0.3.1 [INFO] [stderr] Checking wayland-sys v0.5.11 [INFO] [stderr] Checking wayland-window v0.2.3 [INFO] [stderr] Checking wayland-kbd v0.3.6 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> examples/raytracing/color.rs:13:13 [INFO] [stderr] | [INFO] [stderr] 13 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [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] --> examples/raytracing/color.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | g: g, [INFO] [stderr] | ^^^^ help: replace it with: `g` [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] --> examples/raytracing/color.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [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] --> examples/raytracing/ray_tracing_renderer.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | canvas: canvas, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `canvas` [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] --> examples/raytracing/ray_tracing_renderer.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | sequence: sequence, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `sequence` [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] --> examples/raytracing/ray_tracing_renderer.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | ray_tracer: ray_tracer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ray_tracer` [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] --> examples/raytracing/ray_tracing_renderer.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | image_buffer: image_buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `image_buffer` [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: 5th binding whose name is just one char [INFO] [stderr] --> examples/raytracing/importing/importable.rs:211:25 [INFO] [stderr] | [INFO] [stderr] 211 | let r = capture.at(4).unwrap().parse::().unwrap(); [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] --> examples/raytracing/importing/importable.rs:212:25 [INFO] [stderr] | [INFO] [stderr] 212 | let g = capture.at(5).unwrap().parse::().unwrap(); [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] --> examples/raytracing/importing/importable.rs:213:25 [INFO] [stderr] | [INFO] [stderr] 213 | let b = capture.at(6).unwrap().parse::().unwrap(); [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: 5th binding whose name is just one char [INFO] [stderr] --> examples/raytracing/importing/importable.rs:231:25 [INFO] [stderr] | [INFO] [stderr] 231 | let r = capture.at(4).unwrap().parse::().unwrap(); [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] --> examples/raytracing/importing/importable.rs:232:25 [INFO] [stderr] | [INFO] [stderr] 232 | let g = capture.at(5).unwrap().parse::().unwrap(); [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] --> examples/raytracing/importing/importable.rs:233:25 [INFO] [stderr] | [INFO] [stderr] 233 | let b = capture.at(6).unwrap().parse::().unwrap(); [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] --> examples/support/camera/camera_view.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | polar_axis: polar_axis, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `polar_axis` [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] --> examples/support/camera/camera_view.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | zenith_axis: zenith_axis, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `zenith_axis` [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] --> examples/support/instance.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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] --> examples/support/instance.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | scale: scale, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `scale` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> examples/support/instance.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | polygon_model: polygon_model, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `polygon_model` [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] --> examples/support/examples_window.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [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] --> examples/support/examples_window.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | display: display, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `display` [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] --> examples/support/camera/camera_view.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | polar_axis: polar_axis, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `polar_axis` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> examples/support/examples_window.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | renderer: renderer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `renderer` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> examples/ray_tracing_demo.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> examples/support/examples_runner.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | simulation: simulation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `simulation` [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] --> examples/support/examples_renderer.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | program: program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `program` [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] --> examples/support/polygons/initialize_cube.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | indices: indices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `indices` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = 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] --> examples/support/camera/camera_view.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | zenith_axis: zenith_axis, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `zenith_axis` [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] --> examples/support/instance.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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] --> examples/support/instance.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | scale: scale, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `scale` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> examples/support/instance.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | polygon_model: polygon_model, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `polygon_model` [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] --> examples/support/examples_window.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | world: world, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `world` [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] --> examples/support/examples_window.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | display: display, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `display` [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] --> examples/support/examples_window.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | renderer: renderer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `renderer` [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] --> examples/support/examples_runner.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | simulation: simulation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `simulation` [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] --> examples/support/examples_renderer.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | program: program, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `program` [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] --> examples/support/polygons/initialize_cube.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | indices: indices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `indices` [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/custom_world.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | gravity: gravity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `gravity` [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/custom_world.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | detection: detection, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `detection` [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/custom_world.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | integrator: integrator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `integrator` [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/custom_world.rs:40:13 [INFO] [stderr] | [INFO] [stderr] 40 | broadphase: broadphase, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `broadphase` [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/custom_world.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | constraint_solver: constraint_solver, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `constraint_solver` [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/surface.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | 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/utils/unique_vec_3d_generator.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | next_func: next_func, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `next_func` [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/compute_surfaces_for_convex_hull.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/compute_surfaces_for_convex_hull.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | 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/utils/compute_surfaces_for_convex_hull.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | direction: direction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `direction` [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/maths/motion.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | velocity: velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `velocity` [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/maths/motion.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | angular_velocity: angular_velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `angular_velocity` [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/maths/motion.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | velocity: velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `velocity` [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/maths/motion.rs:46:13 [INFO] [stderr] | [INFO] [stderr] 46 | angular_velocity: angular_velocity, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `angular_velocity` [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/maths/transform.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | translation: translation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `translation` [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/maths/transform.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | rotation: rotation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `rotation` [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/maths/transform.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | translation: translation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `translation` [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/maths/transform.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | rotation: rotation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `rotation` [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/maths/lcp.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | bias: bias, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `bias` [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/maths/lcp.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | solution: solution, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `solution` [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/maths/quat.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [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/maths/quat.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | i: i, [INFO] [stderr] | ^^^^ help: replace it with: `i` [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/maths/quat.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | j: j, [INFO] [stderr] | ^^^^ help: replace it with: `j` [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/maths/quat.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | k: k, [INFO] [stderr] | ^^^^ help: replace it with: `k` [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/maths/vec_3d.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/maths/vec_3d.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/maths/vec_3d.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | z: z, [INFO] [stderr] | ^^^^ help: replace it with: `z` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/maths/sparse_matrix.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/maths/sparse_matrix.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | elements: elements, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `elements` [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/maths/coordinate_transform.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | x_axis: x_axis, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `x_axis` [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/maths/coordinate_transform.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | y_axis: y_axis, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `y_axis` [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/maths/_2d/vec_2d.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/maths/_2d/vec_2d.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | y: y, [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/maths/lcp_solvers/gauss_seidel.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | problem: problem, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `problem` [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/dynamics/integrators/integratable.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | transform: transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [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/dynamics/integrators/integratable.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | motion: motion, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `motion` [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/algorithms/panic_on_iteration.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | limit: limit, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `limit` [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/collisions/body_data.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/collisions/body_data.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | collision_data: collision_data, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `collision_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/collisions/body_data.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | narrowphase_data: narrowphase_data, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `narrowphase_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/collisions/collision_data.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | 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/collisions/collision_data.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | transform: transform, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `transform` [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/collisions/shapes/ray.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | source: source, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `source` [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/collisions/shapes/ray.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | direction: direction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `direction` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/collisions/shapes/ray.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | let d = ray_0.direction().dot(w); [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/collisions/shapes/ray.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | let e = ray_1.direction().dot(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: redundant field names in struct initialization [INFO] [stderr] --> src/collisions/shapes/face.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | indices: indices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `indices` [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/collisions/shapes/face.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/collisions/shapes/plane.rs:13:13 [INFO] [stderr] | [INFO] [stderr] 13 | 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/collisions/shapes/plane.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | 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/collisions/shapes/_2d/line_2d.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/collisions/shapes/_2d/line_2d.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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/collisions/shapes/_2d/ray_2d.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | source: source, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `source` [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/collisions/shapes/_2d/ray_2d.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | direction: direction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `direction` [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/collisions/shapes/_2d/edge_2d.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/collisions/shapes/_2d/edge_2d.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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/collisions/shapes/_2d/plane_2d.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | 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/collisions/shapes/_2d/plane_2d.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | reference_point: reference_point, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `reference_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/collisions/shapes/convex_shapes/sphere.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | 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/collisions/shapes/convex_shapes/triangle_mesh.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/collisions/shapes/convex_shapes/triangle_mesh.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | unique_nodes: unique_nodes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `unique_nodes` [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/collisions/shapes/convex_shapes/convex_polyhedron.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/collisions/shapes/convex_shapes/convex_polyhedron.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | triangulated_faces: triangulated_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `triangulated_faces` [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/collisions/shapes/convex_shapes/convex_polyhedron.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | triangulated_faces: triangulated_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `triangulated_faces` [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/collisions/detection/contact.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | set: set, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `set` [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/collisions/detection/contact_set.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | plane: plane, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `plane` [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/collisions/detection/contact_set.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | points: points, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `points` [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/collisions/detection/gjkepa/epa.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | diff: diff, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `diff` [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/collisions/detection/gjkepa/epa.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:56:13 [INFO] [stderr] | [INFO] [stderr] 56 | triangulated_faces: triangulated_faces, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `triangulated_faces` [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/collisions/detection/gjkepa/gjk.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | diff: diff, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `diff` [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/collisions/detection/gjkepa/gjk.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | simplex: simplex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `simplex` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/collisions/detection/gjkepa/gjk.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | intersection_tolerance: intersection_tolerance, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `intersection_tolerance` [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/collisions/detection/gjkepa/contact_tracker.rs:33:21 [INFO] [stderr] | [INFO] [stderr] 33 | simplex: simplex, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `simplex` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> examples/support/camera/camera_lens.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | return lens; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `lens` [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: long literal lacking separators [INFO] [stderr] --> examples/support/camera/camera_lens.rs:15:28 [INFO] [stderr] | [INFO] [stderr] 15 | field_of_view: 3.141592 / 4.0, [INFO] [stderr] | ^^^^^^^^ help: consider: `3.141_592` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> examples/support/camera/camera_view.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / return CameraView { [INFO] [stderr] 32 | | polar_axis: polar_axis, [INFO] [stderr] 33 | | zoom_level: center_to_eye.norm(), [INFO] [stderr] 34 | | zenith_axis: zenith_axis, [INFO] [stderr] ... | [INFO] [stderr] 37 | | azimuth_radians: 0.0, [INFO] [stderr] 38 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 31 | CameraView { [INFO] [stderr] 32 | polar_axis: polar_axis, [INFO] [stderr] 33 | zoom_level: center_to_eye.norm(), [INFO] [stderr] 34 | zenith_axis: zenith_axis, [INFO] [stderr] 35 | anchor_point: na::Vector3::new(0.0, 0.0, 0.0), [INFO] [stderr] 36 | polar_radians: CameraView::constrain_polar_radians(polar_radians), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> examples/support/camera/camera_view.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | return azimuth_rotation * polar_rotation * self.zenith_axis; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `azimuth_rotation * polar_rotation * self.zenith_axis` [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] --> examples/support/camera/mod.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | return EventResponse::Consumed; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `EventResponse::Consumed` [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] --> examples/support/examples_window.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | return target.finish().map_err(|err| format!("{:?}", err)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `target.finish().map_err(|err| format!("{:?}", err))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> examples/support/examples_window.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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] --> examples/support/examples_renderer.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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] --> examples/support/examples_renderer.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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] --> examples/two_colliding_cubes.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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] --> examples/two_colliding_cubes.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | return Ok(world.update(0.05)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(world.update(0.05))` [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] --> examples/support/camera/camera_lens.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | return lens; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `lens` [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: long literal lacking separators [INFO] [stderr] --> examples/support/camera/camera_lens.rs:15:28 [INFO] [stderr] | [INFO] [stderr] 15 | field_of_view: 3.141592 / 4.0, [INFO] [stderr] | ^^^^^^^^ help: consider: `3.141_592` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> examples/support/camera/camera_view.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / return CameraView { [INFO] [stderr] 32 | | polar_axis: polar_axis, [INFO] [stderr] 33 | | zoom_level: center_to_eye.norm(), [INFO] [stderr] 34 | | zenith_axis: zenith_axis, [INFO] [stderr] ... | [INFO] [stderr] 37 | | azimuth_radians: 0.0, [INFO] [stderr] 38 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 31 | CameraView { [INFO] [stderr] 32 | polar_axis: polar_axis, [INFO] [stderr] 33 | zoom_level: center_to_eye.norm(), [INFO] [stderr] 34 | zenith_axis: zenith_axis, [INFO] [stderr] 35 | anchor_point: na::Vector3::new(0.0, 0.0, 0.0), [INFO] [stderr] 36 | polar_radians: CameraView::constrain_polar_radians(polar_radians), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> examples/support/camera/camera_view.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | return azimuth_rotation * polar_rotation * self.zenith_axis; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `azimuth_rotation * polar_rotation * self.zenith_axis` [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] --> examples/support/camera/mod.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | return EventResponse::Consumed; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `EventResponse::Consumed` [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] --> examples/support/examples_window.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | return target.finish().map_err(|err| format!("{:?}", err)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `target.finish().map_err(|err| format!("{:?}", err))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> examples/support/examples_window.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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] --> examples/support/examples_renderer.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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] --> examples/support/examples_renderer.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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] --> examples/dropped_cube.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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] --> examples/dropped_cube.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | return Ok(world.update(0.05)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(world.update(0.05))` [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] --> examples/raytracing/canvas.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | return (self.camera.eye, direction); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.camera.eye, direction)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> examples/raytracing/importing/importable.rs:306:9 [INFO] [stderr] | [INFO] [stderr] 306 | / return Ok(RayTracingRenderer::new_with_file_output( [INFO] [stderr] 307 | | canvas, [INFO] [stderr] 308 | | T::from_scene_params(scene_params), [INFO] [stderr] 309 | | &output_filename.unwrap(), [INFO] [stderr] 310 | | )); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 306 | Ok(RayTracingRenderer::new_with_file_output( [INFO] [stderr] 307 | canvas, [INFO] [stderr] 308 | T::from_scene_params(scene_params), [INFO] [stderr] 309 | &output_filename.unwrap(), [INFO] [stderr] 310 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `CollisionObjectSpace` [INFO] [stderr] --> examples/ray_tracing_demo.rs:8:12 [INFO] [stderr] | [INFO] [stderr] 8 | use mach::{CollisionObjectSpace, DynamicBody, MachWorld, UnitVec3D, Vec3D, World}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly [INFO] [stderr] --> examples/support/camera/camera_lens.rs:15:28 [INFO] [stderr] | [INFO] [stderr] 15 | field_of_view: 3.141592 / 4.0, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::approx_constant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> examples/support/camera/camera_view.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | self.zoom_level = self.zoom_level * f32::powf(2.0, -zoom_change / SCALE_FACTOR); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.zoom_level *= f32::powf(2.0, -zoom_change / SCALE_FACTOR)` [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] --> examples/support/camera/camera_view.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | self.azimuth_radians = self.azimuth_radians + azimuth_change; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.azimuth_radians += azimuth_change` [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] --> examples/support/camera/mod.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | / match self.last_drag_point { [INFO] [stderr] 55 | | Some((prev_x, prev_y)) => { [INFO] [stderr] 56 | | const SCALE_FACTOR: f32 = 0.015; [INFO] [stderr] 57 | | [INFO] [stderr] ... | [INFO] [stderr] 64 | | None => (), [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 54 | if let Some((prev_x, prev_y)) = self.last_drag_point { [INFO] [stderr] 55 | const SCALE_FACTOR: f32 = 0.015; [INFO] [stderr] 56 | [INFO] [stderr] 57 | let dx = (x - prev_x) * SCALE_FACTOR; [INFO] [stderr] 58 | let dy = (y - prev_y) * SCALE_FACTOR; [INFO] [stderr] 59 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> examples/support/instance.rs:29:37 [INFO] [stderr] | [INFO] [stderr] 29 | color_generator: COLORS.into_iter().cycle(), [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: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> examples/support/examples_window.rs:63:57 [INFO] [stderr] | [INFO] [stderr] 63 | let nanoseconds_per_frame = 1_000_000_000 / (self.desired_fps as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.desired_fps)` [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 function/method `render` doesn't need a mutable reference [INFO] [stderr] --> examples/support/examples_window.rs:90:48 [INFO] [stderr] | [INFO] [stderr] 90 | try!(self.renderer.render(&mut target, &mut *self.world, &self.frame_metadata, &SceneEnv { [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> examples/support/examples_window.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | for ref event in self.display.poll_events() { [INFO] [stderr] | ^^^^^^^^^ -------------------------- help: try: `let event = &self.display.poll_events();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> examples/support/examples_window.rs:121:21 [INFO] [stderr] | [INFO] [stderr] 121 | self.desired_fps = self.desired_fps + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.desired_fps += 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] --> examples/support/examples_window.rs:125:21 [INFO] [stderr] | [INFO] [stderr] 125 | self.desired_fps = self.desired_fps - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.desired_fps -= 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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> examples/support/examples_renderer.rs:62:81 [INFO] [stderr] | [INFO] [stderr] 62 | fn render_contacts(&mut self, surface: &mut S, contacts: &Vec, env: &SceneEnv) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[mach::maths::Vec3D]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> examples/support/examples_renderer.rs:143:32 [INFO] [stderr] | [INFO] [stderr] 143 | surface_color: instance.color.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `instance.color` [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] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `mach`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: approximate value of `f{32, 64}::consts::PI` found. Consider using it directly [INFO] [stderr] --> examples/support/camera/camera_lens.rs:15:28 [INFO] [stderr] | [INFO] [stderr] 15 | field_of_view: 3.141592 / 4.0, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::approx_constant)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#approx_constant [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> examples/support/camera/camera_view.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | self.zoom_level = self.zoom_level * f32::powf(2.0, -zoom_change / SCALE_FACTOR); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.zoom_level *= f32::powf(2.0, -zoom_change / SCALE_FACTOR)` [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] --> examples/support/camera/camera_view.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | self.azimuth_radians = self.azimuth_radians + azimuth_change; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.azimuth_radians += azimuth_change` [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] --> examples/support/camera/mod.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | / match self.last_drag_point { [INFO] [stderr] 55 | | Some((prev_x, prev_y)) => { [INFO] [stderr] 56 | | const SCALE_FACTOR: f32 = 0.015; [INFO] [stderr] 57 | | [INFO] [stderr] ... | [INFO] [stderr] 64 | | None => (), [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 54 | if let Some((prev_x, prev_y)) = self.last_drag_point { [INFO] [stderr] 55 | const SCALE_FACTOR: f32 = 0.015; [INFO] [stderr] 56 | [INFO] [stderr] 57 | let dx = (x - prev_x) * SCALE_FACTOR; [INFO] [stderr] 58 | let dy = (y - prev_y) * SCALE_FACTOR; [INFO] [stderr] 59 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> examples/support/instance.rs:29:37 [INFO] [stderr] | [INFO] [stderr] 29 | color_generator: COLORS.into_iter().cycle(), [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: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> examples/support/examples_window.rs:63:57 [INFO] [stderr] | [INFO] [stderr] 63 | let nanoseconds_per_frame = 1_000_000_000 / (self.desired_fps as u64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.desired_fps)` [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 function/method `render` doesn't need a mutable reference [INFO] [stderr] --> examples/support/examples_window.rs:90:48 [INFO] [stderr] | [INFO] [stderr] 90 | try!(self.renderer.render(&mut target, &mut *self.world, &self.frame_metadata, &SceneEnv { [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> examples/support/examples_window.rs:105:13 [INFO] [stderr] | [INFO] [stderr] 105 | for ref event in self.display.poll_events() { [INFO] [stderr] | ^^^^^^^^^ -------------------------- help: try: `let event = &self.display.poll_events();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> examples/support/examples_window.rs:121:21 [INFO] [stderr] | [INFO] [stderr] 121 | self.desired_fps = self.desired_fps + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.desired_fps += 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] --> examples/support/examples_window.rs:125:21 [INFO] [stderr] | [INFO] [stderr] 125 | self.desired_fps = self.desired_fps - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.desired_fps -= 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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> examples/support/examples_renderer.rs:62:81 [INFO] [stderr] | [INFO] [stderr] 62 | fn render_contacts(&mut self, surface: &mut S, contacts: &Vec, env: &SceneEnv) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[mach::maths::Vec3D]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> examples/support/examples_renderer.rs:143:32 [INFO] [stderr] | [INFO] [stderr] 143 | surface_color: instance.color.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `instance.color` [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] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `mach`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/./../tests/support/assert_properties_for_actions.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | / macro_rules! assert_properties { [INFO] [stderr] 4 | | (target: $target:expr, actions: $actions:expr, properties: $properties:expr,) => { [INFO] [stderr] 5 | | assert_properties_for_actions($target, $actions, $properties); [INFO] [stderr] 6 | | }; [INFO] [stderr] 7 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/custom_world.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | return contacts; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `contacts` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/custom_world.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/utils/surface.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / return Surface { [INFO] [stderr] 32 | | normal: normal, [INFO] [stderr] 33 | | nodes: [index_0, index_1, index_2], [INFO] [stderr] 34 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 31 | Surface { [INFO] [stderr] 32 | normal: normal, [INFO] [stderr] 33 | nodes: [index_0, index_1, index_2], [INFO] [stderr] 34 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/surface.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 40 | / return surface.nodes.iter() [INFO] [stderr] 41 | | .fold(Vec3D::zero(), |total, &index| { [INFO] [stderr] 42 | | total + vertices[index] [INFO] [stderr] 43 | | }) / 3.0; [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 40 | surface.nodes.iter() [INFO] [stderr] 41 | .fold(Vec3D::zero(), |total, &index| { [INFO] [stderr] 42 | total + vertices[index] [INFO] [stderr] 43 | }) / 3.0 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/is_coplanar.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / return remaining_points.all(|&point| { [INFO] [stderr] 14 | | plane.normal_projection_of(point).is_approximately_zero() [INFO] [stderr] 15 | | }); [INFO] [stderr] | |_______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 13 | remaining_points.all(|&point| { [INFO] [stderr] 14 | plane.normal_projection_of(point).is_approximately_zero() [INFO] [stderr] 15 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/utils/unit_vec_3d_generator.rs:4:29 [INFO] [stderr] | [INFO] [stderr] 4 | static POLAR_STEP: Scalar = 2.23725224525; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `2.237_252_245_25` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/utils/unit_vec_3d_generator.rs:5:31 [INFO] [stderr] | [INFO] [stderr] 5 | static AZIMUTH_STEP: Scalar = 1.01862612263; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `1.018_626_122_63` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | return surfaces; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `surfaces` [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/utils/compute_surfaces_for_convex_hull.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | return (ref_x, ref_y); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(ref_x, ref_y)` [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/utils/compute_surfaces_for_convex_hull.rs:194:5 [INFO] [stderr] | [INFO] [stderr] 194 | return (surface, available_nodes, free_edge_list); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(surface, available_nodes, free_edge_list)` [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/utils/compute_surfaces_for_convex_hull.rs:222:5 [INFO] [stderr] | [INFO] [stderr] 222 | / return node_with_max_gradient [INFO] [stderr] 223 | | .and_then(|original| { [INFO] [stderr] 224 | | let node = original.1; [INFO] [stderr] 225 | | if node.on_edge { [INFO] [stderr] ... | [INFO] [stderr] 243 | | } [INFO] [stderr] 244 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 222 | node_with_max_gradient [INFO] [stderr] 223 | .and_then(|original| { [INFO] [stderr] 224 | let node = original.1; [INFO] [stderr] 225 | if node.on_edge { [INFO] [stderr] 226 | let is_valid_node_for_edge = edge_list.iter() [INFO] [stderr] 227 | .any(|edge| { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:205:17 [INFO] [stderr] | [INFO] [stderr] 205 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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/utils/compute_surfaces_for_convex_hull.rs:208:17 [INFO] [stderr] | [INFO] [stderr] 208 | return Some((node_index, node, gradient)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some((node_index, node, gradient))` [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/utils/compute_surfaces_for_convex_hull.rs:236:13 [INFO] [stderr] | [INFO] [stderr] 236 | return Some(original); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(original)` [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/utils/compute_surfaces_for_convex_hull.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | return (new_surface, [new_edges.remove(0), new_edges.remove(0)]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(new_surface, [new_edges.remove(0), new_edges.remove(0)])` [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/maths/lcp.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / return LCP { [INFO] [stderr] 28 | | bias: bias, [INFO] [stderr] 29 | | matrix: SparseMatrix::new(size), [INFO] [stderr] 30 | | solution: solution, [INFO] [stderr] 31 | | value_constraints: constraints, [INFO] [stderr] 32 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 27 | LCP { [INFO] [stderr] 28 | bias: bias, [INFO] [stderr] 29 | matrix: SparseMatrix::new(size), [INFO] [stderr] 30 | solution: solution, [INFO] [stderr] 31 | value_constraints: constraints, [INFO] [stderr] 32 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/vec_3d.rs:63:9 [INFO] [stderr] | [INFO] [stderr] 63 | / return Matrix::new( [INFO] [stderr] 64 | | self.x*other.x, self.x*other.y, self.x*other.z, [INFO] [stderr] 65 | | self.y*other.x, self.y*other.y, self.y*other.z, [INFO] [stderr] 66 | | self.z*other.x, self.z*other.y, self.z*other.z, [INFO] [stderr] 67 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 63 | Matrix::new( [INFO] [stderr] 64 | self.x*other.x, self.x*other.y, self.x*other.z, [INFO] [stderr] 65 | self.y*other.x, self.y*other.y, self.y*other.z, [INFO] [stderr] 66 | self.z*other.x, self.z*other.y, self.z*other.z, [INFO] [stderr] 67 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/matrix.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | / return self[0]*(self[4]*self[8] - self[5]*self[7]) - [INFO] [stderr] 99 | | self[1]*(self[3]*self[8] - self[5]*self[6]) + [INFO] [stderr] 100 | | self[2]*(self[3]*self[7] - self[4]*self[6]); [INFO] [stderr] | |___________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 98 | self[0]*(self[4]*self[8] - self[5]*self[7]) - [INFO] [stderr] 99 | self[1]*(self[3]*self[8] - self[5]*self[6]) + [INFO] [stderr] 100 | self[2]*(self[3]*self[7] - self[4]*self[6]) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/matrix.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 105 | / return Matrix::new( [INFO] [stderr] 106 | | self[4]*self[8] - self[5]*self[7], [INFO] [stderr] 107 | | self[2]*self[7] - self[1]*self[8], [INFO] [stderr] 108 | | self[1]*self[5] - self[2]*self[4], [INFO] [stderr] ... | [INFO] [stderr] 114 | | self[0]*self[4] - self[1]*self[3], [INFO] [stderr] 115 | | ) / self.determinant(); [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 105 | Matrix::new( [INFO] [stderr] 106 | self[4]*self[8] - self[5]*self[7], [INFO] [stderr] 107 | self[2]*self[7] - self[1]*self[8], [INFO] [stderr] 108 | self[1]*self[5] - self[2]*self[4], [INFO] [stderr] 109 | self[5]*self[6] - self[3]*self[8], [INFO] [stderr] 110 | self[0]*self[8] - self[2]*self[6], [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/matrix.rs:152:9 [INFO] [stderr] | [INFO] [stderr] 152 | 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/maths/matrix.rs:229:9 [INFO] [stderr] | [INFO] [stderr] 229 | / return Matrix::new( [INFO] [stderr] 230 | | self[0]/scalar, [INFO] [stderr] 231 | | self[1]/scalar, [INFO] [stderr] 232 | | self[2]/scalar, [INFO] [stderr] ... | [INFO] [stderr] 238 | | self[8]/scalar, [INFO] [stderr] 239 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 229 | Matrix::new( [INFO] [stderr] 230 | self[0]/scalar, [INFO] [stderr] 231 | self[1]/scalar, [INFO] [stderr] 232 | self[2]/scalar, [INFO] [stderr] 233 | self[3]/scalar, [INFO] [stderr] 234 | self[4]/scalar, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/matrix.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | / return Matrix::new( [INFO] [stderr] 251 | | self[0]*scalar, [INFO] [stderr] 252 | | self[1]*scalar, [INFO] [stderr] 253 | | self[2]*scalar, [INFO] [stderr] ... | [INFO] [stderr] 259 | | self[8]*scalar, [INFO] [stderr] 260 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 250 | Matrix::new( [INFO] [stderr] 251 | self[0]*scalar, [INFO] [stderr] 252 | self[1]*scalar, [INFO] [stderr] 253 | self[2]*scalar, [INFO] [stderr] 254 | self[3]*scalar, [INFO] [stderr] 255 | self[4]*scalar, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/matrix.rs:309:9 [INFO] [stderr] | [INFO] [stderr] 309 | return Matrix { elements: elems }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Matrix { elements: elems }` [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: long literal lacking separators [INFO] [stderr] --> src/maths/../../tests/maths/unit_quat_test.rs:23:39 [INFO] [stderr] | [INFO] [stderr] 23 | assert_approx_eq!(res, Vec3D::new(0.8333333333333335, 0.5202200572599405, -0.18688672392660716)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.833_333_333_333_333_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/maths/../../tests/maths/unit_quat_test.rs:23:59 [INFO] [stderr] | [INFO] [stderr] 23 | assert_approx_eq!(res, Vec3D::new(0.8333333333333335, 0.5202200572599405, -0.18688672392660716)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.520_220_057_259_940_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/maths/../../tests/maths/unit_quat_test.rs:23:80 [INFO] [stderr] | [INFO] [stderr] 23 | assert_approx_eq!(res, Vec3D::new(0.8333333333333335, 0.5202200572599405, -0.18688672392660716)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.186_886_723_926_607_16` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/maths/unit_quat.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | return UnitQuat(Quat::new(c, s*axis.x, s*axis.y, s*axis.z)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `UnitQuat(Quat::new(c, s*axis.x, s*axis.y, s*axis.z))` [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/maths/unit_quat.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | return Vec3D::new(result.i, result.j, result.k); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Vec3D::new(result.i, result.j, result.k)` [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/maths/sparse_matrix.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | / return SparseMatrix { [INFO] [stderr] 25 | | size: size, [INFO] [stderr] 26 | | elements: elements, [INFO] [stderr] 27 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 24 | SparseMatrix { [INFO] [stderr] 25 | size: size, [INFO] [stderr] 26 | elements: elements, [INFO] [stderr] 27 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/dynamics/solvers/mach_constraint_solver.rs:150:9 [INFO] [stderr] | [INFO] [stderr] 150 | return (problem, friction_directions); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(problem, friction_directions)` [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/algorithms/execute.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | return self.result(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.result()` [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/collisions/collision_data.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/collisions/shapes/../../../tests/collisions/shapes/support_map_behaviour.rs:132:5 [INFO] [stderr] | [INFO] [stderr] 132 | return quickcheck::TestResult::passed(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `quickcheck::TestResult::passed()` [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/collisions/shapes/../../../tests/collisions/shapes/support_map_behaviour.rs:170:9 [INFO] [stderr] | [INFO] [stderr] 170 | 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/collisions/shapes/ray.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | return (closest_point_0 + closest_point_1) / 2.0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(closest_point_0 + closest_point_1) / 2.0` [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/collisions/shapes/support_map.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | return Box::new(boundary_points.into_iter()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(boundary_points.into_iter())` [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/collisions/shapes/support_map.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | return Box::new(points.into_iter()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(points.into_iter())` [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/collisions/shapes/_2d/polygon.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | / return points.iter() [INFO] [stderr] 121 | | .enumerate() [INFO] [stderr] 122 | | .skip(1) [INFO] [stderr] 123 | | .fold((0, initial_projection), |(index_of_max, max_projection), (i, point)| { [INFO] [stderr] ... | [INFO] [stderr] 127 | | } [INFO] [stderr] 128 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 120 | points.iter() [INFO] [stderr] 121 | .enumerate() [INFO] [stderr] 122 | .skip(1) [INFO] [stderr] 123 | .fold((0, initial_projection), |(index_of_max, max_projection), (i, point)| { [INFO] [stderr] 124 | match normal.dot(point) { [INFO] [stderr] 125 | x if x > max_projection => (i, x), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:134:5 [INFO] [stderr] | [INFO] [stderr] 134 | return index; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `index` [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/collisions/shapes/_2d/intersections/line_and_polygon_2d_intersection.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | / return line.as_ray().intersection(polygon).and_then(|intersection_0| { [INFO] [stderr] 11 | | line.as_ray_from_end().reversed().intersection(polygon) [INFO] [stderr] 12 | | .map(move |intersection_1| (intersection_0.0, intersection_1.0)) [INFO] [stderr] 13 | | }).map(|intersections| { [INFO] [stderr] 14 | | return Line2D::new(intersections.0, intersections.1); [INFO] [stderr] 15 | | }); [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 10 | line.as_ray().intersection(polygon).and_then(|intersection_0| { [INFO] [stderr] 11 | line.as_ray_from_end().reversed().intersection(polygon) [INFO] [stderr] 12 | .map(move |intersection_1| (intersection_0.0, intersection_1.0)) [INFO] [stderr] 13 | }).map(|intersections| { [INFO] [stderr] 14 | return Line2D::new(intersections.0, intersections.1); [INFO] [stderr] 15 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/shapes/_2d/intersections/line_and_polygon_2d_intersection.rs:14:13 [INFO] [stderr] | [INFO] [stderr] 14 | return Line2D::new(intersections.0, intersections.1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Line2D::new(intersections.0, intersections.1)` [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/collisions/shapes/_2d/intersections/polygon_and_polygon_2d_intersection.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [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/collisions/shapes/convex_shapes/cuboid.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | / return Matrix::new( [INFO] [stderr] 92 | | (yy + zz)/12.0, 0.0, 0.0, [INFO] [stderr] 93 | | 0.0, (xx + zz)/12.0, 0.0, [INFO] [stderr] 94 | | 0.0, 0.0, (xx + yy)/12.0, [INFO] [stderr] 95 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 91 | Matrix::new( [INFO] [stderr] 92 | (yy + zz)/12.0, 0.0, 0.0, [INFO] [stderr] 93 | 0.0, (xx + zz)/12.0, 0.0, [INFO] [stderr] 94 | 0.0, 0.0, (xx + yy)/12.0, [INFO] [stderr] 95 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/shapes/convex_shapes/cuboid.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | return max_indices; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `max_indices` [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/collisions/shapes/convex_shapes/sphere.rs:103:17 [INFO] [stderr] | [INFO] [stderr] 103 | return Some(value); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(value)` [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/collisions/shapes/convex_shapes/sphere.rs:106:21 [INFO] [stderr] | [INFO] [stderr] 106 | None => return None, [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [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/collisions/shapes/convex_shapes/convex_shape.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | return Box::new(vec.into_iter()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(vec.into_iter())` [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/collisions/shapes/convex_shapes/convex_polyhedron.rs:44:21 [INFO] [stderr] | [INFO] [stderr] 44 | return surface.nodes; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `surface.nodes` [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/collisions/shapes/convex_shapes/convex_polyhedron.rs:46:21 [INFO] [stderr] | [INFO] [stderr] 46 | return [surface.nodes[2], surface.nodes[1], surface.nodes[0]]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `[surface.nodes[2], surface.nodes[1], surface.nodes[0]]` [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/collisions/shapes/convex_shapes/convex_polyhedron.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/collisions/detection/mod.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | mod detection; [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: unneeded return statement [INFO] [stderr] --> src/collisions/detection/gjkepa/../../../../tests/collisions/detection/gjkepa/epa_test.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | return edge_counts; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `edge_counts` [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/collisions/detection/gjkepa/epa.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | / return match (feature_0, feature_1) { [INFO] [stderr] 178 | | (Feature::Vertex(vertex), _other) => { [INFO] [stderr] 179 | | let correction = contact_normal * penetration_depth / 2.0; [INFO] [stderr] 180 | | let contact_point = vertex - correction; [INFO] [stderr] ... | [INFO] [stderr] 221 | | }, [INFO] [stderr] 222 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 177 | match (feature_0, feature_1) { [INFO] [stderr] 178 | (Feature::Vertex(vertex), _other) => { [INFO] [stderr] 179 | let correction = contact_normal * penetration_depth / 2.0; [INFO] [stderr] 180 | let contact_point = vertex - correction; [INFO] [stderr] 181 | [INFO] [stderr] 182 | ContactSet::new( [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | / return ContactSet::new( [INFO] [stderr] 244 | | Plane::new(contact_point_0, contact_plane.normal()), [INFO] [stderr] 245 | | vec!(contact_point_0, contact_point_1), [INFO] [stderr] 246 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 243 | ContactSet::new( [INFO] [stderr] 244 | Plane::new(contact_point_0, contact_plane.normal()), [INFO] [stderr] 245 | vec!(contact_point_0, contact_point_1), [INFO] [stderr] 246 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:263:9 [INFO] [stderr] | [INFO] [stderr] 263 | / return ContactSet::new( [INFO] [stderr] 264 | | Plane::new(points[0], contact_plane.normal()), [INFO] [stderr] 265 | | points, [INFO] [stderr] 266 | | ); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 263 | ContactSet::new( [INFO] [stderr] 264 | Plane::new(points[0], contact_plane.normal()), [INFO] [stderr] 265 | points, [INFO] [stderr] 266 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:288:5 [INFO] [stderr] | [INFO] [stderr] 288 | return (polygon, average_z); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(polygon, average_z)` [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: unused import: `Vec3D` [INFO] [stderr] --> src/collisions/detection/gjkepa/gjk.rs:2:29 [INFO] [stderr] | [INFO] [stderr] 2 | use maths::{Approximations, Vec3D}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `color` [INFO] [stderr] --> examples/raytracing/point_light.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | color: Color, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `position` [INFO] [stderr] --> examples/raytracing/point_light.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | position: Vec3D, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `color` [INFO] [stderr] --> examples/raytracing/directional_light.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | color: Color, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `direction` [INFO] [stderr] --> examples/raytracing/directional_light.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | direction: UnitVec3D, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/detection/gjkepa/gjk_simplex.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/collisions/detection/gjkepa/gjk_simplex.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | return (indices.0, Plane::new(vertices.0, normal)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(indices.0, Plane::new(vertices.0, 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: field is never used: `point_lights` [INFO] [stderr] --> examples/ray_tracing_demo.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | point_lights: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `max_ray_bounces` [INFO] [stderr] --> examples/ray_tracing_demo.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | max_ray_bounces: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `directional_lights` [INFO] [stderr] --> examples/ray_tracing_demo.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | directional_lights: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/detection/gjkepa/minkowski_difference.rs:29:9 [INFO] [stderr] | [INFO] [stderr] 29 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/collisions/broadphase/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod broadphase; [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/collisions/broadphase/brute_force_broadphase.rs:94:9 [INFO] [stderr] | [INFO] [stderr] 94 | return Box::new(pairs.into_iter()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(pairs.into_iter())` [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/collisions/narrowphase/mod.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | mod narrowphase; [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: redundant closure found [INFO] [stderr] --> examples/raytracing/render.rs:51:19 [INFO] [stderr] | [INFO] [stderr] 51 | let program = program!(&display, [INFO] [stderr] | ___________________^ [INFO] [stderr] 52 | | 140 => { [INFO] [stderr] 53 | | vertex: " [INFO] [stderr] 54 | | #version 140 [INFO] [stderr] ... | [INFO] [stderr] 74 | | }, [INFO] [stderr] 75 | | ).unwrap(); [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/collisions/collisionobjectspace/collision_object_space.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/collisions/collisionobjectspace/collision_object_space.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | return Box::new(iterator); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Box::new(iterator)` [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/collisions/collisionobjectspace/mach_collision_object_space.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | return handle; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `handle` [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: using `clone` on a `Copy` type [INFO] [stderr] --> examples/raytracing/ray_tracing_renderer.rs:57:47 [INFO] [stderr] | [INFO] [stderr] 57 | self.image_buffer[j][i] = color.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `color` [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: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> examples/raytracing/importing/importable.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | / fn import_from(filename: &str) -> Result { [INFO] [stderr] 18 | | let f = try!(fs::File::open(filename)); [INFO] [stderr] 19 | | let file = io::BufReader::new(&f); [INFO] [stderr] 20 | | [INFO] [stderr] ... | [INFO] [stderr] 310 | | )); [INFO] [stderr] 311 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> examples/raytracing/importing/importable.rs:53:40 [INFO] [stderr] | [INFO] [stderr] 53 | let mut vertices_with_normals: Vec<((f64, f64, f64), (f64, f64, f64))> = Vec::new(); [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: using `clone` on a `Copy` type [INFO] [stderr] --> examples/raytracing/importing/matrix_stack.rs:39:25 [INFO] [stderr] | [INFO] [stderr] 39 | let top_clone = self.top().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.top()` [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: unused variable: `sphere` [INFO] [stderr] --> src/collisions/shapes/convex_shapes/intersections/ray_sphere_intersection.rs:8:28 [INFO] [stderr] | [INFO] [stderr] 8 | fn intersection(&self, sphere: &Sphere) -> Option { [INFO] [stderr] | ^^^^^^ help: consider using `_sphere` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ray` [INFO] [stderr] --> src/collisions/broadphase/brute_force_broadphase.rs:97:31 [INFO] [stderr] | [INFO] [stderr] 97 | fn cast_ray<'a>(&'a self, ray: &Ray) -> Box> + 'a> { [INFO] [stderr] | ^^^ help: consider using `_ray` instead [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `tests::support::result_handle::ResultHandle` [INFO] [stderr] --> src/./../tests/support/result_handle.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | / pub fn new() -> ResultHandle { [INFO] [stderr] 9 | | ResultHandle(Arc::new(RefCell::new(None))) [INFO] [stderr] 10 | | } [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] 5 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/./../tests/support/variable_size_vec.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn to_vec(self) -> Vec { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `mach_world::MachWorld` [INFO] [stderr] --> src/mach_world.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | / pub fn new() -> MachWorld { [INFO] [stderr] 23 | | let world = CustomWorld::new( [INFO] [stderr] 24 | | GJKEPADetection::new(), [INFO] [stderr] 25 | | SemiImplicitEuler::new(), [INFO] [stderr] ... | [INFO] [stderr] 31 | | MachWorld(world) [INFO] [stderr] 32 | | } [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] 21 | impl Default for mach_world::MachWorld { [INFO] [stderr] 22 | fn default() -> Self { [INFO] [stderr] 23 | Self::new() [INFO] [stderr] 24 | } [INFO] [stderr] 25 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/custom_world.rs:60:12 [INFO] [stderr] | [INFO] [stderr] 60 | if contacts.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!contacts.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: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/custom_world.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | / self.broadphase.cast_ray(ray).filter(move |body| { [INFO] [stderr] 127 | | match body.shape().downcast() { [INFO] [stderr] 128 | | ShapeRef::Sphere(sphere) => { [INFO] [stderr] 129 | | sphere.fast_intersection(ray) [INFO] [stderr] ... | [INFO] [stderr] 133 | | } [INFO] [stderr] 134 | | }).next() [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/surface.rs:15:26 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn new(vertices: &Vec, index_0: usize, index_1: usize, index_2: usize) -> Surface { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec3D]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/surface.rs:39:58 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn compute_centroid(surface: &Surface, vertices: &Vec) -> Vec3D { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec3D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/utils/is_coplanar.rs:11:28 [INFO] [stderr] | [INFO] [stderr] 11 | let plane = Plane::new(first.clone(), normal); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*first` [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: float has excessive precision [INFO] [stderr] --> src/utils/unit_vec_3d_generator.rs:4:29 [INFO] [stderr] | [INFO] [stderr] 4 | static POLAR_STEP: Scalar = 2.23725224525; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `2.237_252_2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::excessive_precision)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/utils/unit_vec_3d_generator.rs:5:31 [INFO] [stderr] | [INFO] [stderr] 5 | static AZIMUTH_STEP: Scalar = 1.01862612263; [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `1.018_626_1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `utils::unit_vec_3d_generator::UnitVec3DGenerator` [INFO] [stderr] --> src/utils/unit_vec_3d_generator.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / pub fn new() -> UnitVec3DGenerator { [INFO] [stderr] 14 | | UnitVec3DGenerator { [INFO] [stderr] 15 | | polar: -POLAR_STEP, [INFO] [stderr] 16 | | azimuth: -AZIMUTH_STEP, [INFO] [stderr] 17 | | } [INFO] [stderr] 18 | | } [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] 7 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:11:51 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn compute_surfaces_for_convex_hull(vertices: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec3D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | counter = counter + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `counter += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:111:22 [INFO] [stderr] | [INFO] [stderr] 111 | fn new(vertices: &Vec, surface: &Surface, index_0: usize, index_1: usize) -> DirectedEdge { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec3D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:156:33 [INFO] [stderr] | [INFO] [stderr] 156 | fn initialize_surface(vertices: &Vec) -> (Surface, Vec, Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec3D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:197:47 [INFO] [stderr] | [INFO] [stderr] 197 | fn select_best_node_for_edge(available_nodes: &Vec, edge_list: &Vec, current_edge: DirectedEdge) -> Option { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Node]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:197:70 [INFO] [stderr] | [INFO] [stderr] 197 | fn select_best_node_for_edge(available_nodes: &Vec, edge_list: &Vec, current_edge: DirectedEdge) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[DirectedEdge]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/compute_surfaces_for_convex_hull.rs:247:36 [INFO] [stderr] | [INFO] [stderr] 247 | fn new_surface_from_edge(vertices: &Vec, edge: DirectedEdge, vertex_index: usize) -> (Surface, [DirectedEdge; 2]) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec3D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/maths/../../tests/maths/quat_test.rs:61:23 [INFO] [stderr] | [INFO] [stderr] 61 | assert_approx_eq!(&p - q, expectation); [INFO] [stderr] | --^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `p` [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: taken reference of right operand [INFO] [stderr] --> src/maths/../../tests/maths/quat_test.rs:62:23 [INFO] [stderr] | [INFO] [stderr] 62 | assert_approx_eq!(p - &q, expectation); [INFO] [stderr] | ^^^^-- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `q` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/maths/../../tests/maths/quat_test.rs:63:23 [INFO] [stderr] | [INFO] [stderr] 63 | assert_approx_eq!(&p - &q, expectation); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 63 | assert_approx_eq!(p - q, expectation); [INFO] [stderr] | ^ ^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/maths/../../tests/maths/quat_test.rs:112:23 [INFO] [stderr] | [INFO] [stderr] 112 | assert_approx_eq!(&a * b, expectation); [INFO] [stderr] | --^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `a` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/maths/../../tests/maths/quat_test.rs:113:23 [INFO] [stderr] | [INFO] [stderr] 113 | assert_approx_eq!(a * &b, expectation); [INFO] [stderr] | ^^^^-- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/maths/../../tests/maths/quat_test.rs:114:23 [INFO] [stderr] | [INFO] [stderr] 114 | assert_approx_eq!(&a * &b, expectation); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 114 | assert_approx_eq!(a * b, expectation); [INFO] [stderr] | ^ ^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/maths/quat.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | UnitQuat::from_quat(self.clone()) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [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: needlessly taken reference of left operand [INFO] [stderr] --> src/maths/quat.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | &self * s [INFO] [stderr] | -----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/maths/quat.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | &self / s [INFO] [stderr] | -----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/maths/../../tests/maths/vec_3d_test.rs:32:23 [INFO] [stderr] | [INFO] [stderr] 32 | assert_approx_eq!(&a + b, expectation); [INFO] [stderr] | --^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `a` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/maths/../../tests/maths/vec_3d_test.rs:33:23 [INFO] [stderr] | [INFO] [stderr] 33 | assert_approx_eq!(a + &b, expectation); [INFO] [stderr] | ^^^^-- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/maths/../../tests/maths/vec_3d_test.rs:34:23 [INFO] [stderr] | [INFO] [stderr] 34 | assert_approx_eq!(&a + &b, expectation); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 34 | assert_approx_eq!(a + b, expectation); [INFO] [stderr] | ^ ^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/maths/../../tests/maths/vec_3d_test.rs:45:23 [INFO] [stderr] | [INFO] [stderr] 45 | assert_approx_eq!(&a - b, expectation); [INFO] [stderr] | --^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `a` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/maths/../../tests/maths/vec_3d_test.rs:46:23 [INFO] [stderr] | [INFO] [stderr] 46 | assert_approx_eq!(a - &b, expectation); [INFO] [stderr] | ^^^^-- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/maths/../../tests/maths/vec_3d_test.rs:47:23 [INFO] [stderr] | [INFO] [stderr] 47 | assert_approx_eq!(&a - &b, expectation); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 47 | assert_approx_eq!(a - b, expectation); [INFO] [stderr] | ^ ^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/maths/../../tests/maths/vec_3d_test.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | let v = Vec3D::new(1.0, 2.0, 3.0).clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `Vec3D::new(1.0, 2.0, 3.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/maths/vec_3d.rs:46:25 [INFO] [stderr] | [INFO] [stderr] 46 | UnitVec3D::from(self.clone()) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [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: needlessly taken reference of left operand [INFO] [stderr] --> src/maths/vec_3d.rs:229:9 [INFO] [stderr] | [INFO] [stderr] 229 | &self * s [INFO] [stderr] | -----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of left operand [INFO] [stderr] --> src/maths/vec_3d.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | &vector * self [INFO] [stderr] | -------^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: use the left value directly: `vector` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/maths/../../tests/maths/matrix_test.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | assert_eq!(determinant, -33.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/maths/../../tests/maths/matrix_test.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | assert_eq!(determinant, -33.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/maths/matrix.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | / pub fn new(m11: Scalar, m12: Scalar, m13: Scalar, m21: Scalar, m22: Scalar, m23: Scalar, m31: Scalar, m32: Scalar, m33: Scalar) -> Matrix { [INFO] [stderr] 21 | | Matrix { [INFO] [stderr] 22 | | elements: [ [INFO] [stderr] 23 | | m11, [INFO] [stderr] ... | [INFO] [stderr] 33 | | } [INFO] [stderr] 34 | | } [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/maths/matrix.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 162 | / fn index<'a>(&'a self, index: usize) -> &'a Scalar { [INFO] [stderr] 163 | | &self.elements[index] [INFO] [stderr] 164 | | } [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/maths/matrix.rs:172:5 [INFO] [stderr] | [INFO] [stderr] 172 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut Scalar { [INFO] [stderr] 173 | | &mut self.elements[index] [INFO] [stderr] 174 | | } [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: taken reference of right operand [INFO] [stderr] --> src/maths/matrix.rs:286:9 [INFO] [stderr] | [INFO] [stderr] 286 | self * &vect [INFO] [stderr] | ^^^^^^^----- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `vect` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/maths/../../tests/maths/unit_quat_test.rs:23:39 [INFO] [stderr] | [INFO] [stderr] 23 | assert_approx_eq!(res, Vec3D::new(0.8333333333333335, 0.5202200572599405, -0.18688672392660716)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `0.833_333_3` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/maths/../../tests/maths/unit_quat_test.rs:23:59 [INFO] [stderr] | [INFO] [stderr] 23 | assert_approx_eq!(res, Vec3D::new(0.8333333333333335, 0.5202200572599405, -0.18688672392660716)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `0.520_220_04` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/maths/../../tests/maths/unit_quat_test.rs:23:80 [INFO] [stderr] | [INFO] [stderr] 23 | assert_approx_eq!(res, Vec3D::new(0.8333333333333335, 0.5202200572599405, -0.18688672392660716)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `0.186_886_73` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/maths/../../tests/maths/sparse_matrix_test.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | assert_eq!(matrix[(0, 0)], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/maths/../../tests/maths/sparse_matrix_test.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | assert_eq!(matrix[(0, 0)], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/maths/../../tests/maths/sparse_matrix_test.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | assert_eq!(matrix[(0, 1)], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/maths/../../tests/maths/sparse_matrix_test.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | assert_eq!(matrix[(0, 1)], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/maths/../../tests/maths/sparse_matrix_test.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | assert_eq!(matrix[(1, 0)], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/maths/../../tests/maths/sparse_matrix_test.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | assert_eq!(matrix[(1, 0)], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/maths/../../tests/maths/sparse_matrix_test.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | assert_eq!(matrix[(1, 1)], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/maths/../../tests/maths/sparse_matrix_test.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | assert_eq!(matrix[(1, 1)], 0.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/maths/approximations.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | self > TOLERANCE as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(TOLERANCE)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/maths/approximations.rs:34:16 [INFO] [stderr] | [INFO] [stderr] 34 | self < -TOLERANCE as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(-TOLERANCE)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/maths/approximations.rs:39:22 [INFO] [stderr] | [INFO] [stderr] 39 | self.abs() < TOLERANCE as f64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f64::from(TOLERANCE)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/maths/_2d/vec_2d.rs:33:22 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn rotate_90(&self) -> Vec2D { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/maths/_2d/vec_2d.rs:38:27 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn squared_length(&self) -> Scalar { [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/maths/_2d/vec_2d.rs:43:19 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn length(&self) -> Scalar { [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/maths/_2d/vec_2d.rs:48:22 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn normalize(&self) -> UnitVec2D { [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/maths/_2d/vec_2d.rs:49:25 [INFO] [stderr] | [INFO] [stderr] 49 | UnitVec2D::from(self.clone()) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/maths/_2d/unit_vec_2d.rs:28:22 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn rotate_90(&self) -> UnitVec2D { [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/maths/_2d/unit_vec_2d.rs:32:22 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn rotate_by(&self, radians: Scalar) -> UnitVec2D { [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: taken reference of right operand [INFO] [stderr] --> src/maths/_2d/unit_vec_2d.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | scalar * (&self.0) [INFO] [stderr] | ^^^^^^^^^--------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.0` [INFO] [stderr] | [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/maths/lcp_solvers/gauss_seidel.rs:56:21 [INFO] [stderr] | [INFO] [stderr] 56 | delta = delta + self.problem.matrix(i, j) * self.problem.solution(j); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `delta += self.problem.matrix(i, j) * self.problem.solution(j)` [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/maths/lcp_solvers/gauss_seidel.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | delta = delta + self.problem.matrix(i, j) * self.problem.solution(j); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `delta += self.problem.matrix(i, j) * self.problem.solution(j)` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/dynamics/rigid_body_ref.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | / pub fn integratable<'b>(&'b mut self) -> Integratable<'b> { [INFO] [stderr] 84 | | Integratable::new(self.0.transform_mut(), self.1.motion_mut()) [INFO] [stderr] 85 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dynamics/dynamic_body_ref.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | / match body.dynamic_extension_data() { [INFO] [stderr] 16 | | &DynamicBodyExtension::Rigid(ref data) => { [INFO] [stderr] 17 | | DynamicBodyRef::Rigid(RigidBodyRef::new(body.data(), data)) [INFO] [stderr] 18 | | }, [INFO] [stderr] ... | [INFO] [stderr] 22 | | }, [INFO] [stderr] 23 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 15 | match *body.dynamic_extension_data() { [INFO] [stderr] 16 | DynamicBodyExtension::Rigid(ref data) => { [INFO] [stderr] 17 | DynamicBodyRef::Rigid(RigidBodyRef::new(body.data(), data)) [INFO] [stderr] 18 | }, [INFO] [stderr] 19 | [INFO] [stderr] 20 | DynamicBodyExtension::Fixed(ref data) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dynamics/dynamic_body_ref.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / match dynamic_extension { [INFO] [stderr] 32 | | &mut DynamicBodyExtension::Rigid(ref mut data) => { [INFO] [stderr] 33 | | DynamicBodyRefMut::Rigid(RigidBodyRefMut::new(body_data, data)) [INFO] [stderr] 34 | | }, [INFO] [stderr] ... | [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#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 31 | match *dynamic_extension { [INFO] [stderr] 32 | DynamicBodyExtension::Rigid(ref mut data) => { [INFO] [stderr] 33 | DynamicBodyRefMut::Rigid(RigidBodyRefMut::new(body_data, data)) [INFO] [stderr] 34 | }, [INFO] [stderr] 35 | [INFO] [stderr] 36 | DynamicBodyExtension::Fixed(ref mut data) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dynamics/dynamic_body_extension.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | / match self { [INFO] [stderr] 11 | | &DynamicBodyExtension::Rigid(ref rigid_body_data) => [INFO] [stderr] 12 | | rigid_body_data.extension_data(), [INFO] [stderr] 13 | | [INFO] [stderr] 14 | | &DynamicBodyExtension::Fixed(ref fixed_body_data) => [INFO] [stderr] 15 | | fixed_body_data.extension_data(), [INFO] [stderr] 16 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 10 | match *self { [INFO] [stderr] 11 | DynamicBodyExtension::Rigid(ref rigid_body_data) => [INFO] [stderr] 12 | rigid_body_data.extension_data(), [INFO] [stderr] 13 | [INFO] [stderr] 14 | DynamicBodyExtension::Fixed(ref fixed_body_data) => [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dynamics/dynamic_body_extension.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | / match self { [INFO] [stderr] 21 | | &mut DynamicBodyExtension::Rigid(ref mut rigid_body_data) => [INFO] [stderr] 22 | | rigid_body_data.extension_data_mut(), [INFO] [stderr] 23 | | [INFO] [stderr] 24 | | &mut DynamicBodyExtension::Fixed(ref mut fixed_body_data) => [INFO] [stderr] 25 | | fixed_body_data.extension_data_mut(), [INFO] [stderr] 26 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 20 | match *self { [INFO] [stderr] 21 | DynamicBodyExtension::Rigid(ref mut rigid_body_data) => [INFO] [stderr] 22 | rigid_body_data.extension_data_mut(), [INFO] [stderr] 23 | [INFO] [stderr] 24 | DynamicBodyExtension::Fixed(ref mut fixed_body_data) => [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/dynamics/solvers/constraint_solver.rs:6:49 [INFO] [stderr] | [INFO] [stderr] 6 | fn solve_with_contacts(&mut self, contacts: &Vec>, integrator: &I, time_step: Scalar); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Contact]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `dynamics::solvers::mach_constraint_solver::MachConstraintSolver` [INFO] [stderr] --> src/dynamics/solvers/mach_constraint_solver.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn new() -> MachConstraintSolver { [INFO] [stderr] 13 | | MachConstraintSolver [INFO] [stderr] 14 | | } [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] 9 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/dynamics/solvers/mach_constraint_solver.rs:16:35 [INFO] [stderr] | [INFO] [stderr] 16 | fn formulate_lcp(contacts: &Vec>, time_step: Scalar) -> (LCP, Vec) where T: DynamicBody { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Contact]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/dynamics/solvers/mach_constraint_solver.rs:153:113 [INFO] [stderr] | [INFO] [stderr] 153 | fn apply_lcp_solution(problem: LCP, friction_directions: Vec, time_step: Scalar, contacts: &Vec>, integrator: &I) where I: Integrator, T: DynamicBody { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Contact]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/dynamics/solvers/mach_constraint_solver.rs:270:39 [INFO] [stderr] | [INFO] [stderr] 270 | to_contact_center.0.cross(normal.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `normal` [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/dynamics/solvers/mach_constraint_solver.rs:271:39 [INFO] [stderr] | [INFO] [stderr] 271 | to_contact_center.1.cross(normal.clone()), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `normal` [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/dynamics/solvers/mach_constraint_solver.rs:290:48 [INFO] [stderr] | [INFO] [stderr] 290 | let k_scaled = to_contact_center.cross(normal.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `normal` [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 `dynamics::integrators::semi_implicit_euler::SemiImplicitEuler` [INFO] [stderr] --> src/dynamics/integrators/semi_implicit_euler.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / pub fn new() -> SemiImplicitEuler { [INFO] [stderr] 14 | | SemiImplicitEuler [INFO] [stderr] 15 | | } [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] 10 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/dynamics/integrators/semi_implicit_euler.rs:23:17 [INFO] [stderr] | [INFO] [stderr] 23 | let w = target.angular_velocity().clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*target.angular_velocity()` [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/dynamics/integrators/semi_implicit_euler.rs:25:28 [INFO] [stderr] | [INFO] [stderr] 25 | let q = Quat::from(target.rotation().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `target.rotation()` [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/collisions/shapes/face.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | self.indices.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.indices` [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/collisions/shapes/support_map.rs:95:12 [INFO] [stderr] | [INFO] [stderr] 95 | if self.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.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: methods called `is_*` usually take self by reference or no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/collisions/shapes/line_projection.rs:15:27 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn is_before_line(self) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `is_*` usually take self by reference or no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/collisions/shapes/line_projection.rs:22:23 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn is_on_line(self) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `is_*` usually take self by reference or no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/collisions/shapes/line_projection.rs:29:26 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn is_after_line(self) -> bool { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/collisions/shapes/_2d/ray_2d.rs:41:48 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn project_along_direction(&self, vec: &Vec2D) -> Scalar { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Vec2D` [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: taken reference of right operand [INFO] [stderr] --> src/collisions/shapes/_2d/ray_2d.rs:42:29 [INFO] [stderr] | [INFO] [stderr] 42 | self.direction.dot(&(vec - &self.source)) [INFO] [stderr] | ^^^^^^^------------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.source` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/collisions/shapes/_2d/ray_2d.rs:50:22 [INFO] [stderr] | [INFO] [stderr] 50 | Plane2D::new(self.source.clone(), self.counter_clockwise_normal()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.source` [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/collisions/shapes/_2d/edge_2d.rs:34:21 [INFO] [stderr] | [INFO] [stderr] 34 | Line2D::new(self.start.clone(), self.end.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.start` [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/collisions/shapes/_2d/edge_2d.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | Line2D::new(self.start.clone(), self.end.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.end` [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/collisions/shapes/_2d/edge_2d.rs:40:21 [INFO] [stderr] | [INFO] [stderr] 40 | Line2D::new(edge.start.clone(), edge.end.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*edge.start` [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/collisions/shapes/_2d/edge_2d.rs:40:41 [INFO] [stderr] | [INFO] [stderr] 40 | Line2D::new(edge.start.clone(), edge.end.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try dereferencing it: `*edge.end` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/collisions/shapes/_2d/../../../../tests/collisions/shapes/_2d/polygon_test.rs:19:105 [INFO] [stderr] | [INFO] [stderr] 19 | fn validate_polygon_is_convex_hull(violations: &mut Violations, polygon: &Polygon, original_points: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec2D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/collisions/shapes/_2d/../../../../tests/collisions/shapes/_2d/polygon_test.rs:29:12 [INFO] [stderr] | [INFO] [stderr] 29 | if outliers.len() != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!outliers.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: use of `expect` followed by a function call [INFO] [stderr] --> src/collisions/shapes/_2d/../../../../tests/collisions/shapes/_2d/polygon_test.rs:89:14 [INFO] [stderr] | [INFO] [stderr] 89 | .expect(&format!("Test was setup to result in a valid convex hull, but it was invalid: {:?}", points)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Test was setup to result in a valid convex hull, but it was invalid: {:?}", points))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:19:53 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn convex_hull_from_points(original_points: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec2D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:36:25 [INFO] [stderr] | [INFO] [stderr] 36 | total + original_points[index].clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `original_points[index]` [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/collisions/shapes/_2d/polygon.rs:67:26 [INFO] [stderr] | [INFO] [stderr] 67 | .map(|index| original_points[index].clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `original_points[index]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:117:51 [INFO] [stderr] | [INFO] [stderr] 117 | fn index_and_projection_of_furthest_along(points: &Vec, normal: &UnitVec2D) -> (usize, Scalar) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec2D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:117:72 [INFO] [stderr] | [INFO] [stderr] 117 | fn index_and_projection_of_furthest_along(points: &Vec, normal: &UnitVec2D) -> (usize, Scalar) { [INFO] [stderr] | ^^^^^^^^^^ help: consider passing by value instead: `UnitVec2D` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:131:36 [INFO] [stderr] | [INFO] [stderr] 131 | fn index_of_furthest_along(points: &Vec, normal: &UnitVec2D) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Vec2D]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/collisions/shapes/_2d/polygon.rs:131:57 [INFO] [stderr] | [INFO] [stderr] 131 | fn index_of_furthest_along(points: &Vec, normal: &UnitVec2D) -> usize { [INFO] [stderr] | ^^^^^^^^^^ help: consider passing by value instead: `UnitVec2D` [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/collisions/shapes/_2d/plane_2d.rs:32:46 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn normal_projection_of(&self, vec2: &Vec2D) -> Scalar { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Vec2D` [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: taken reference of right operand [INFO] [stderr] --> src/collisions/shapes/_2d/plane_2d.rs:33:26 [INFO] [stderr] | [INFO] [stderr] 33 | self.normal.dot(&(vec2 - &self.reference_point)) [INFO] [stderr] | ^^^^^^^^---------------------^ [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `self.reference_point` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/collisions/shapes/_2d/point_2d.rs:27:18 [INFO] [stderr] | [INFO] [stderr] 27 | unsafe { mem::transmute(self) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `&*(self as *const maths::_2d::vec_2d::Vec2D as *const collisions::shapes::_2d::point_2d::Point2D)` [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] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/collisions/shapes/_2d/intersections/../../../../../tests/collisions/shapes/_2d/intersections/ray_and_ray_2d_intersection_test.rs:19:14 [INFO] [stderr] | [INFO] [stderr] 19 | .expect(format!("expected {:?} to intersect with {:?}, but did not", ray, new_ray).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| panic!("expected {:?} to intersect with {:?}, but did not", ray))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/collisions/shapes/_2d/intersections/../../../../../tests/collisions/shapes/_2d/intersections/ray_and_ray_2d_intersection_test.rs:32:50 [INFO] [stderr] | [INFO] [stderr] 32 | let new_ray = Ray2D::new(new_ray_source, ray.direction().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*ray.direction()` [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/collisions/shapes/_2d/intersections/ray_and_ray_2d_intersection.rs:15:27 [INFO] [stderr] | [INFO] [stderr] 15 | let directions = (rays.0.direction().vec().clone(), rays.1.direction().vec().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*rays.0.direction().vec()` [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/collisions/shapes/_2d/intersections/ray_and_ray_2d_intersection.rs:15:61 [INFO] [stderr] | [INFO] [stderr] 15 | let directions = (rays.0.direction().vec().clone(), rays.1.direction().vec().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*rays.1.direction().vec()` [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/collisions/shapes/_2d/intersections/polygon_and_polygon_2d_intersection.rs:34:20 [INFO] [stderr] | [INFO] [stderr] 34 | if intersections.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `intersections.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/collisions/shapes/_2d/intersections/polygon_and_polygon_2d_intersection.rs:59:20 [INFO] [stderr] | [INFO] [stderr] 59 | if intersections.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `intersections.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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/collisions/shapes/convex_shapes/../../../../tests/collisions/shapes/convex_shapes/cuboid_test.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | assert_eq!(c.volume(), 24.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/collisions/shapes/convex_shapes/../../../../tests/collisions/shapes/convex_shapes/cuboid_test.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | assert_eq!(c.volume(), 24.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/collisions/shapes/convex_shapes/cuboid.rs:107:18 [INFO] [stderr] | [INFO] [stderr] 107 | Box::new(self.vertices.iter().map(|&a| a)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.vertices.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/collisions/shapes/convex_shapes/sphere.rs:33:19 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn radius(&self) -> Scalar { [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/collisions/shapes/convex_shapes/sphere.rs:81:18 [INFO] [stderr] | [INFO] [stderr] 81 | Box::new(self.clone()) [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*self` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/collisions/shapes/convex_shapes/convex_shape.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | fn downcast<'a>(&'a self) -> ShapeRef<'a>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/collisions/shapes/convex_shapes/triangle_mesh.rs:26:28 [INFO] [stderr] | [INFO] [stderr] 26 | let unique_nodes = elements.iter() [INFO] [stderr] | ____________________________^ [INFO] [stderr] 27 | | .map(|&(i, j, k)| [i, j, k]) [INFO] [stderr] 28 | | .fold(HashMap::new(), |mut set, indices| { [INFO] [stderr] 29 | | for index in indices.iter() { [INFO] [stderr] ... | [INFO] [stderr] 36 | | .keys() [INFO] [stderr] 37 | | .map(|&a| a) [INFO] [stderr] | |________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 26 | let unique_nodes = elements.iter() [INFO] [stderr] 27 | .map(|&(i, j, k)| [i, j, k]) [INFO] [stderr] 28 | .fold(HashMap::new(), |mut set, indices| { [INFO] [stderr] 29 | for index in indices.iter() { [INFO] [stderr] 30 | if !set.contains_key(index) { [INFO] [stderr] 31 | set.insert(*index, ()); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/collisions/shapes/convex_shapes/convex_polyhedron.rs:75:21 [INFO] [stderr] | [INFO] [stderr] 75 | indices.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try dereferencing it: `*indices` [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: identical conversion [INFO] [stderr] --> src/collisions/detection/gjkepa/../../../../tests/collisions/detection/gjkepa/epa_test.rs:53:27 [INFO] [stderr] | [INFO] [stderr] 53 | rotation: rot.into(), [INFO] [stderr] | ^^^^^^^^^^ help: consider removing `.into()`: `rot` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/collisions/detection/gjkepa/../../../../tests/collisions/detection/gjkepa/epa_test.rs:114:8 [INFO] [stderr] | [INFO] [stderr] 114 | if outliers.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `outliers.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: called `cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:26:36 [INFO] [stderr] | [INFO] [stderr] 26 | let vertices: Vec = simplex.vertices().iter().cloned().collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_cloned_collect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/collisions/detection/gjkepa/epa.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | / self.diff.support_points_iter(Direction::from(plane.normal())) [INFO] [stderr] 95 | | .filter(|&point| { [INFO] [stderr] 96 | | // I don’t know why, but the uniqueness test is still [INFO] [stderr] 97 | | // required [INFO] [stderr] ... | [INFO] [stderr] 100 | | }) [INFO] [stderr] 101 | | .next() [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/collisions/detection/gjkepa/../../../../tests/collisions/detection/gjkepa/contact_tracker_test.rs:18:27 [INFO] [stderr] | [INFO] [stderr] 18 | rotation: rot.into(), [INFO] [stderr] | ^^^^^^^^^^ help: consider removing `.into()`: `rot` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/collisions/detection/gjkepa/../../../../tests/collisions/detection/gjkepa/contact_tracker_test.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | if let None = find_origin(&mut contact_tracker, &control, &data) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 27 | | panic!("Expected the simplex not to contain the origin, but it did"); [INFO] [stderr] 28 | | } [INFO] [stderr] | |_________- help: try this: `if find_origin(&mut contact_tracker, &control, &data).is_none()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/collisions/detection/gjkepa/../../../../tests/collisions/detection/gjkepa/contact_tracker_test.rs:44:27 [INFO] [stderr] | [INFO] [stderr] 44 | rotation: rot.into(), [INFO] [stderr] | ^^^^^^^^^^ help: consider removing `.into()`: `rot` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/collisions/detection/gjkepa/../../../../tests/collisions/detection/gjkepa/minkowski_difference_test.rs:23:27 [INFO] [stderr] | [INFO] [stderr] 23 | rotation: rotation.into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider removing `.into()`: `rotation` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/collisions/detection/gjkepa/../../../../tests/collisions/detection/gjkepa/minkowski_difference_test.rs:58:27 [INFO] [stderr] | [INFO] [stderr] 58 | rotation: rotation.into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider removing `.into()`: `rotation` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `collisions::detection::gjkepa::gjk_epa_detection::GJKEPADetection` [INFO] [stderr] --> src/collisions/detection/gjkepa/gjk_epa_detection.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | / pub fn new() -> GJKEPADetection { [INFO] [stderr] 15 | | GJKEPADetection { } [INFO] [stderr] 16 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 11 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `collisions::broadphase::brute_force_broadphase::BruteForceBroadphase` [INFO] [stderr] --> src/collisions/broadphase/brute_force_broadphase.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | / pub fn new() -> BruteForceBroadphase { [INFO] [stderr] 14 | | BruteForceBroadphase(MachCollisionObjectSpace::new()) [INFO] [stderr] 15 | | } [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] 12 | impl Default for collisions::broadphase::brute_force_broadphase::BruteForceBroadphase { [INFO] [stderr] 13 | fn default() -> Self { [INFO] [stderr] 14 | Self::new() [INFO] [stderr] 15 | } [INFO] [stderr] 16 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/collisions/broadphase/brute_force_broadphase.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | / fn find<'a>(&'a self, id: ID) -> Option> { [INFO] [stderr] 20 | | self.0.find(id) [INFO] [stderr] 21 | | } [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/collisions/collisionobjectspace/collision_object_space.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | fn find<'a>(&'a self, id: ID) -> Option>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `collisions::collisionobjectspace::mach_collision_object_space::MachCollisionObjectSpace` [INFO] [stderr] --> src/collisions/collisionobjectspace/mach_collision_object_space.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | / pub fn new() -> MachCollisionObjectSpace { [INFO] [stderr] 16 | | // TODO let narrowphase_data = N::new(&collision_data); ?? [INFO] [stderr] 17 | | [INFO] [stderr] 18 | | MachCollisionObjectSpace { [INFO] [stderr] ... | [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_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/collisions/collisionobjectspace/mach_collision_object_space.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / fn find<'a>(&'a self, id: ID) -> Option> { [INFO] [stderr] 31 | | self.foreground_bodies.iter().find(|handle| handle.borrow().id() == id) [INFO] [stderr] 32 | | .or_else(|| self.environment_bodies.iter().find(|handle| handle.borrow().id() == id)) [INFO] [stderr] 33 | | .map(|handle| handle.borrow()) [INFO] [stderr] 34 | | } [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] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `mach`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "bff074ef79e302f0c804644386fe3b72b7a1647fe39aa5bd5fecddc67370bf59"` [INFO] running `"docker" "rm" "-f" "bff074ef79e302f0c804644386fe3b72b7a1647fe39aa5bd5fecddc67370bf59"` [INFO] [stdout] bff074ef79e302f0c804644386fe3b72b7a1647fe39aa5bd5fecddc67370bf59