[INFO] crate tessellation 0.7.0 is already in cache [INFO] extracting crate tessellation 0.7.0 into work/ex/clippy-test-run/sources/stable/reg/tessellation/0.7.0 [INFO] extracting crate tessellation 0.7.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/tessellation/0.7.0 [INFO] validating manifest of tessellation-0.7.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of tessellation-0.7.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing tessellation-0.7.0 [INFO] finished frobbing tessellation-0.7.0 [INFO] frobbed toml for tessellation-0.7.0 written to work/ex/clippy-test-run/sources/stable/reg/tessellation/0.7.0/Cargo.toml [INFO] started frobbing tessellation-0.7.0 [INFO] finished frobbing tessellation-0.7.0 [INFO] frobbed toml for tessellation-0.7.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/tessellation/0.7.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting tessellation-0.7.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/tessellation/0.7.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 6d99bba61722a1c37a7cfd3c23ef5bce8329a55af1cae91fb334c9d2d39dfe20 [INFO] running `"docker" "start" "-a" "6d99bba61722a1c37a7cfd3c23ef5bce8329a55af1cae91fb334c9d2d39dfe20"` [INFO] [stderr] Checking approx v0.3.1 [INFO] [stderr] Checking stl_io v0.4.2 [INFO] [stderr] Checking alga v0.7.2 [INFO] [stderr] Checking nalgebra v0.16.13 [INFO] [stderr] Checking bbox v0.9.1 [INFO] [stderr] Checking implicit3d v0.11.4 [INFO] [stderr] Checking tessellation v0.7.0 (/opt/crater/workdir) [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/manifold_dual_contouring.rs:421:13 [INFO] [stderr] | [INFO] [stderr] 421 | let _1: S = From::from(1f32); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::just_underscores_and_digits)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/manifold_dual_contouring.rs:436:13 [INFO] [stderr] | [INFO] [stderr] 436 | res: res, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `res` [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/manifold_dual_contouring.rs:656:33 [INFO] [stderr] | [INFO] [stderr] 656 | edge: edge, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `edge` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/manifold_dual_contouring.rs:820:21 [INFO] [stderr] | [INFO] [stderr] 820 | neighbors: neighbors, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `neighbors` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/qef.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | bbox: bbox, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `bbox` [INFO] [stderr] | [INFO] [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] --> src/bitset.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | return BitSet(self.0 | other.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `BitSet(self.0 | other.0)` [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/bitset.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | return BitSet(self.0 & other.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `BitSet(self.0 & other.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: long literal lacking separators [INFO] [stderr] --> src/bitset.rs:63:17 [INFO] [stderr] | [INFO] [stderr] 63 | 0x00000001 => 0, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0001` [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/bitset.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | 0x00000002 => 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0002` [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/bitset.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | 0x00000004 => 2, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0004` [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/bitset.rs:66:17 [INFO] [stderr] | [INFO] [stderr] 66 | 0x00000008 => 3, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0008` [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/bitset.rs:67:17 [INFO] [stderr] | [INFO] [stderr] 67 | 0x00000010 => 4, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0010` [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/bitset.rs:68:17 [INFO] [stderr] | [INFO] [stderr] 68 | 0x00000020 => 5, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0020` [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/bitset.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | 0x00000040 => 6, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0040` [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/bitset.rs:70:17 [INFO] [stderr] | [INFO] [stderr] 70 | 0x00000080 => 7, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0080` [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/bitset.rs:71:17 [INFO] [stderr] | [INFO] [stderr] 71 | 0x00000100 => 8, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0100` [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/bitset.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | 0x00000200 => 9, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0200` [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/bitset.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | 0x00000400 => 10, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0400` [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/bitset.rs:74:17 [INFO] [stderr] | [INFO] [stderr] 74 | 0x00000800 => 11, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0800` [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/bitset.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | 0x00001000 => 12, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_1000` [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/bitset.rs:76:17 [INFO] [stderr] | [INFO] [stderr] 76 | 0x00002000 => 13, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_2000` [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/bitset.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | 0x00004000 => 14, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_4000` [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/bitset.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | 0x00008000 => 15, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_8000` [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/bitset.rs:79:17 [INFO] [stderr] | [INFO] [stderr] 79 | 0x00010000 => 16, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0001_0000` [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/bitset.rs:80:17 [INFO] [stderr] | [INFO] [stderr] 80 | 0x00020000 => 17, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0002_0000` [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/bitset.rs:81:17 [INFO] [stderr] | [INFO] [stderr] 81 | 0x00040000 => 18, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0004_0000` [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/bitset.rs:82:17 [INFO] [stderr] | [INFO] [stderr] 82 | 0x00080000 => 19, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0008_0000` [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/bitset.rs:83:17 [INFO] [stderr] | [INFO] [stderr] 83 | 0x00100000 => 20, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0010_0000` [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/bitset.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | 0x00200000 => 21, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0020_0000` [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/bitset.rs:85:17 [INFO] [stderr] | [INFO] [stderr] 85 | 0x00400000 => 22, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0040_0000` [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/bitset.rs:86:17 [INFO] [stderr] | [INFO] [stderr] 86 | 0x00800000 => 23, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0080_0000` [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/bitset.rs:87:17 [INFO] [stderr] | [INFO] [stderr] 87 | 0x01000000 => 24, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0100_0000` [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/bitset.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | 0x02000000 => 25, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0200_0000` [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/bitset.rs:89:17 [INFO] [stderr] | [INFO] [stderr] 89 | 0x04000000 => 26, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0400_0000` [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/bitset.rs:90:17 [INFO] [stderr] | [INFO] [stderr] 90 | 0x08000000 => 27, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0800_0000` [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/bitset.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | 0x10000000 => 28, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1000_0000` [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/bitset.rs:92:17 [INFO] [stderr] | [INFO] [stderr] 92 | 0x20000000 => 29, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x2000_0000` [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/bitset.rs:93:17 [INFO] [stderr] | [INFO] [stderr] 93 | 0x40000000 => 30, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x4000_0000` [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/bitset.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | 0x80000000 => 31, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cell_configs.rs:11:26 [INFO] [stderr] | [INFO] [stderr] 11 | pub const CELL_CONFIGS: &'static [&'static [BitSet]] = &[ [INFO] [stderr] | -^^^^^^^-------------------- help: consider removing `'static`: `&[&'static [BitSet]]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cell_configs.rs:11:36 [INFO] [stderr] | [INFO] [stderr] 11 | pub const CELL_CONFIGS: &'static [&'static [BitSet]] = &[ [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[BitSet]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/manifold_dual_contouring.rs:230:5 [INFO] [stderr] | [INFO] [stderr] 230 | return x + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `x + 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: this if statement can be collapsed [INFO] [stderr] --> src/manifold_dual_contouring.rs:281:21 [INFO] [stderr] | [INFO] [stderr] 281 | / if half_index(&neighbor.index) == parent_index { [INFO] [stderr] 282 | | if neigbors.insert(vi) { [INFO] [stderr] 283 | | add_connected_vertices_in_subcell(base, &base[vi], neigbors); [INFO] [stderr] 284 | | } [INFO] [stderr] 285 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 281 | if half_index(&neighbor.index) == parent_index && neigbors.insert(vi) { [INFO] [stderr] 282 | add_connected_vertices_in_subcell(base, &base[vi], neigbors); [INFO] [stderr] 283 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/manifold_dual_contouring.rs:479:9 [INFO] [stderr] | [INFO] [stderr] 479 | return self.sample_value_grid([0, 0, 0], origin, pow2roundup(maxdim), origin_value); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sample_value_grid([0, 0, 0], origin, pow2roundup(maxdim), origin_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/manifold_dual_contouring.rs:625:17 [INFO] [stderr] | [INFO] [stderr] 625 | 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/manifold_dual_contouring.rs:889:9 [INFO] [stderr] | [INFO] [stderr] 889 | 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/manifold_dual_contouring.rs:982:13 [INFO] [stderr] | [INFO] [stderr] 982 | return self.find_zero(a, av, n, nv); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.find_zero(a, av, n, nv)` [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/manifold_dual_contouring.rs:984:13 [INFO] [stderr] | [INFO] [stderr] 984 | return self.find_zero(n, nv, b, bv); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.find_zero(n, nv, b, bv)` [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/vertex_index.rs:34:29 [INFO] [stderr] | [INFO] [stderr] 34 | 2 => BitSet((bits & 0b1000001) << 3 | (bits & 0b100100) << 6), [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b100_0001` [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/vertex_index.rs:34:55 [INFO] [stderr] | [INFO] [stderr] 34 | 2 => BitSet((bits & 0b1000001) << 3 | (bits & 0b100100) << 6), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b10_0100` [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/vertex_index.rs:35:29 [INFO] [stderr] | [INFO] [stderr] 35 | 3 => BitSet((bits & 0b1000001000) >> 3 | (bits & 0b100100000000) >> 6), [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b10_0000_1000` [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/vertex_index.rs:35:58 [INFO] [stderr] | [INFO] [stderr] 35 | 3 => BitSet((bits & 0b1000001000) >> 3 | (bits & 0b100100000000) >> 6), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `0b1001_0000_0000` [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: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/qef.rs:139:30 [INFO] [stderr] | [INFO] [stderr] 139 | self.btb - _2_as_s * na::dot(point, &self.atb) + na::dot(point, &(*ma * *point)) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/qef.rs:139:58 [INFO] [stderr] | [INFO] [stderr] 139 | self.btb - _2_as_s * na::dot(point, &self.atb) + na::dot(point, &(*ma * *point)) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: consider choosing a more descriptive name [INFO] [stderr] --> src/manifold_dual_contouring.rs:421:13 [INFO] [stderr] | [INFO] [stderr] 421 | let _1: S = From::from(1f32); [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::just_underscores_and_digits)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#just_underscores_and_digits [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/manifold_dual_contouring.rs:436:13 [INFO] [stderr] | [INFO] [stderr] 436 | res: res, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `res` [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/manifold_dual_contouring.rs:656:33 [INFO] [stderr] | [INFO] [stderr] 656 | edge: edge, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `edge` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/manifold_dual_contouring.rs:820:21 [INFO] [stderr] | [INFO] [stderr] 820 | neighbors: neighbors, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `neighbors` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/qef.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | bbox: bbox, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `bbox` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bitset.rs:19:18 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn merge(&self, other: BitSet) -> BitSet { [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/bitset.rs:22:22 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn intersect(&self, other: BitSet) -> BitSet { [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/bitset.rs:25:16 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn get(&self, index: usize) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bitset.rs:28:18 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn empty(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bitset.rs:31:19 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn as_u32(&self) -> u32 { [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/manifold_dual_contouring.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn base(&self) -> Edge { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/manifold_dual_contouring.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | / match self { [INFO] [stderr] 119 | | &DualContouringError::HitZero(_) => "Hit zero value during grid sampling.", [INFO] [stderr] 120 | | } [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] 118 | match *self { [INFO] [stderr] 119 | DualContouringError::HitZero(_) => "Hit zero value during grid sampling.", [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/manifold_dual_contouring.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | / match self { [INFO] [stderr] 127 | | &DualContouringError::HitZero(ref s) => write!(f, "Hit zero value for {}", s), [INFO] [stderr] 128 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 126 | match *self { [INFO] [stderr] 127 | DualContouringError::HitZero(ref s) => write!(f, "Hit zero value for {}", s), [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/manifold_dual_contouring.rs:271:11 [INFO] [stderr] | [INFO] [stderr] 271 | base: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[Vertex]` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/manifold_dual_contouring.rs:278:13 [INFO] [stderr] | [INFO] [stderr] 278 | / match neighbor_index { [INFO] [stderr] 279 | | &VarIndex::Index(vi) => { [INFO] [stderr] 280 | | let ref neighbor = base[vi]; [INFO] [stderr] 281 | | if half_index(&neighbor.index) == parent_index { [INFO] [stderr] ... | [INFO] [stderr] 289 | | } [INFO] [stderr] 290 | | } [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] 278 | match *neighbor_index { [INFO] [stderr] 279 | VarIndex::Index(vi) => { [INFO] [stderr] 280 | let ref neighbor = base[vi]; [INFO] [stderr] 281 | if half_index(&neighbor.index) == parent_index { [INFO] [stderr] 282 | if neigbors.insert(vi) { [INFO] [stderr] 283 | add_connected_vertices_in_subcell(base, &base[vi], neigbors); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/manifold_dual_contouring.rs:280:25 [INFO] [stderr] | [INFO] [stderr] 280 | let ref neighbor = base[vi]; [INFO] [stderr] | ----^^^^^^^^^^^^------------ help: try: `let neighbor = &base[vi];` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/manifold_dual_contouring.rs:309:15 [INFO] [stderr] | [INFO] [stderr] 309 | vertices: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[Vertex]` [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: the loop variable `i` is used to index `intersections` [INFO] [stderr] --> src/manifold_dual_contouring.rs:318:18 [INFO] [stderr] | [INFO] [stderr] 318 | for i in 0..12 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 318 | for (i, ) in intersections.iter_mut().enumerate() { [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/manifold_dual_contouring.rs:337:57 [INFO] [stderr] | [INFO] [stderr] 337 | fn subsample_octtree>(base: &Vec>) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[Vertex]` [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 don't need to add `&` to all patterns [INFO] [stderr] --> src/manifold_dual_contouring.rs:381:17 [INFO] [stderr] | [INFO] [stderr] 381 | / match neighbor { [INFO] [stderr] 382 | | &mut VarIndex::VertexIndex(_) => { [INFO] [stderr] 383 | | panic!("unexpected VertexIndex in normal node.") [INFO] [stderr] 384 | | } [INFO] [stderr] ... | [INFO] [stderr] 387 | | } [INFO] [stderr] 388 | | } [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] 381 | match *neighbor { [INFO] [stderr] 382 | VarIndex::VertexIndex(_) => { [INFO] [stderr] 383 | panic!("unexpected VertexIndex in normal node.") [INFO] [stderr] 384 | } [INFO] [stderr] 385 | VarIndex::Index(i) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/manifold_dual_contouring.rs:627:27 [INFO] [stderr] | [INFO] [stderr] 627 | .map(|(k, _)| k.clone()) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*k` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/manifold_dual_contouring.rs:640:40 [INFO] [stderr] | [INFO] [stderr] 640 | let mut adjacent_idx = point_idx.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `point_idx` [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/manifold_dual_contouring.rs:682:17 [INFO] [stderr] | [INFO] [stderr] 682 | assert!(vertex.children.len() == 0 || layer > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vertex.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/manifold_dual_contouring.rs:720:21 [INFO] [stderr] | [INFO] [stderr] 720 | / match neighbor { [INFO] [stderr] 721 | | &mut VarIndex::VertexIndex(vi) => { [INFO] [stderr] 722 | | *neighbor = VarIndex::Index(*index_map.get(&vi).unwrap()) [INFO] [stderr] 723 | | } [INFO] [stderr] 724 | | &mut VarIndex::Index(_) => panic!("unexpected Index in fresh leaf map."), [INFO] [stderr] 725 | | } [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] 720 | match *neighbor { [INFO] [stderr] 721 | VarIndex::VertexIndex(vi) => { [INFO] [stderr] 722 | *neighbor = VarIndex::Index(*index_map.get(&vi).unwrap()) [INFO] [stderr] 723 | } [INFO] [stderr] 724 | VarIndex::Index(_) => panic!("unexpected Index in fresh leaf map."), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/manifold_dual_contouring.rs:722:58 [INFO] [stderr] | [INFO] [stderr] 722 | *neighbor = VarIndex::Index(*index_map.get(&vi).unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&index_map[&vi]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `neighbors` [INFO] [stderr] --> src/manifold_dual_contouring.rs:781:26 [INFO] [stderr] | [INFO] [stderr] 781 | for i in 0..6 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 781 | for (i, ) in neighbors.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/manifold_dual_contouring.rs:799:46 [INFO] [stderr] | [INFO] [stderr] 799 | let tangent_planes: Vec<_> = edge_set [INFO] [stderr] | ______________________________________________^ [INFO] [stderr] 800 | | .into_iter() [INFO] [stderr] | |________________________________^ help: consider removing `.into_iter()`: `edge_set` [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] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/manifold_dual_contouring.rs:834:21 [INFO] [stderr] | [INFO] [stderr] 834 | return *plane.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 834 | return *&(*plane).clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 834 | return *&plane::Plane::clone(plane); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/manifold_dual_contouring.rs:853:34 [INFO] [stderr] | [INFO] [stderr] 853 | let mut octtree_index = *self.vertex_index_map.get(&vertex_index).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.vertex_index_map[&vertex_index]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/manifold_dual_contouring.rs:861:17 [INFO] [stderr] | [INFO] [stderr] 861 | let ref next_vertex = self.vertex_octtree[octtree_layer + 1][next_index]; [INFO] [stderr] | ----^^^^^^^^^^^^^^^------------------------------------------------------ help: try: `let next_vertex = &self.vertex_octtree[octtree_layer + 1][next_index];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/manifold_dual_contouring.rs:885:13 [INFO] [stderr] | [INFO] [stderr] 885 | let ref mut vertex_list = self.mesh.borrow_mut().vertices; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^----------------------------------- help: try: `let vertex_list = &mut self.mesh.borrow_mut().vertices;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/manifold_dual_contouring.rs:943:13 [INFO] [stderr] | [INFO] [stderr] 943 | let ref mut face_list = self.mesh.borrow_mut().faces; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^-------------------------------- help: try: `let face_list = &mut self.mesh.borrow_mut().faces;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/manifold_dual_contouring.rs:967:13 [INFO] [stderr] | [INFO] [stderr] 967 | / let mut result = &a; [INFO] [stderr] 968 | | if Float::abs(bv) < Float::abs(av) { [INFO] [stderr] 969 | | result = &b; [INFO] [stderr] 970 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let result = if Float::abs(bv) < Float::abs(av) { &b } else { &a };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/qef.rs:126:29 [INFO] [stderr] | [INFO] [stderr] 126 | let mut d_mid = na_mid.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `na_mid` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/vertex_index.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | / let neighbor_index; [INFO] [stderr] 67 | | if (face & 1) == 1 { [INFO] [stderr] 68 | | neighbor_index = offset(self.index, off); [INFO] [stderr] 69 | | } else { [INFO] [stderr] 70 | | neighbor_index = neg_offset(self.index, off); [INFO] [stderr] 71 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let neighbor_index = if (face & 1) == 1 { offset(self.index, off) } else { neg_offset(self.index, off) };` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `tessellation`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/bitset.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | return BitSet(self.0 | other.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `BitSet(self.0 | other.0)` [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/bitset.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | return BitSet(self.0 & other.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `BitSet(self.0 & other.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: long literal lacking separators [INFO] [stderr] --> src/bitset.rs:63:17 [INFO] [stderr] | [INFO] [stderr] 63 | 0x00000001 => 0, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0001` [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/bitset.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | 0x00000002 => 1, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0002` [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/bitset.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | 0x00000004 => 2, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0004` [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/bitset.rs:66:17 [INFO] [stderr] | [INFO] [stderr] 66 | 0x00000008 => 3, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0008` [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/bitset.rs:67:17 [INFO] [stderr] | [INFO] [stderr] 67 | 0x00000010 => 4, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0010` [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/bitset.rs:68:17 [INFO] [stderr] | [INFO] [stderr] 68 | 0x00000020 => 5, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0020` [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/bitset.rs:69:17 [INFO] [stderr] | [INFO] [stderr] 69 | 0x00000040 => 6, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0040` [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/bitset.rs:70:17 [INFO] [stderr] | [INFO] [stderr] 70 | 0x00000080 => 7, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0080` [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/bitset.rs:71:17 [INFO] [stderr] | [INFO] [stderr] 71 | 0x00000100 => 8, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0100` [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/bitset.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | 0x00000200 => 9, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0200` [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/bitset.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | 0x00000400 => 10, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0400` [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/bitset.rs:74:17 [INFO] [stderr] | [INFO] [stderr] 74 | 0x00000800 => 11, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0800` [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/bitset.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | 0x00001000 => 12, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_1000` [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/bitset.rs:76:17 [INFO] [stderr] | [INFO] [stderr] 76 | 0x00002000 => 13, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_2000` [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/bitset.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | 0x00004000 => 14, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_4000` [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/bitset.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | 0x00008000 => 15, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_8000` [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/bitset.rs:79:17 [INFO] [stderr] | [INFO] [stderr] 79 | 0x00010000 => 16, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0001_0000` [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/bitset.rs:80:17 [INFO] [stderr] | [INFO] [stderr] 80 | 0x00020000 => 17, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0002_0000` [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/bitset.rs:81:17 [INFO] [stderr] | [INFO] [stderr] 81 | 0x00040000 => 18, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0004_0000` [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/bitset.rs:82:17 [INFO] [stderr] | [INFO] [stderr] 82 | 0x00080000 => 19, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0008_0000` [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/bitset.rs:83:17 [INFO] [stderr] | [INFO] [stderr] 83 | 0x00100000 => 20, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0010_0000` [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/bitset.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | 0x00200000 => 21, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0020_0000` [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/bitset.rs:85:17 [INFO] [stderr] | [INFO] [stderr] 85 | 0x00400000 => 22, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0040_0000` [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/bitset.rs:86:17 [INFO] [stderr] | [INFO] [stderr] 86 | 0x00800000 => 23, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0080_0000` [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/bitset.rs:87:17 [INFO] [stderr] | [INFO] [stderr] 87 | 0x01000000 => 24, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0100_0000` [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/bitset.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | 0x02000000 => 25, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0200_0000` [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/bitset.rs:89:17 [INFO] [stderr] | [INFO] [stderr] 89 | 0x04000000 => 26, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0400_0000` [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/bitset.rs:90:17 [INFO] [stderr] | [INFO] [stderr] 90 | 0x08000000 => 27, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0800_0000` [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/bitset.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | 0x10000000 => 28, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x1000_0000` [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/bitset.rs:92:17 [INFO] [stderr] | [INFO] [stderr] 92 | 0x20000000 => 29, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x2000_0000` [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/bitset.rs:93:17 [INFO] [stderr] | [INFO] [stderr] 93 | 0x40000000 => 30, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x4000_0000` [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/bitset.rs:94:17 [INFO] [stderr] | [INFO] [stderr] 94 | 0x80000000 => 31, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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/bitset.rs:154:34 [INFO] [stderr] | [INFO] [stderr] 154 | assert_eq!(super::BitSet(0b00000000).empty(), true); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0000` [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/bitset.rs:155:34 [INFO] [stderr] | [INFO] [stderr] 155 | assert_eq!(super::BitSet(0b10000000).empty(), false); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1000_0000` [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/bitset.rs:156:34 [INFO] [stderr] | [INFO] [stderr] 156 | assert_eq!(super::BitSet(0b01001100).empty(), false); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0100_1100` [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/bitset.rs:157:34 [INFO] [stderr] | [INFO] [stderr] 157 | assert_eq!(super::BitSet(0b11001101).empty(), false); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1100_1101` [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/bitset.rs:158:34 [INFO] [stderr] | [INFO] [stderr] 158 | assert_eq!(super::BitSet(0b11111111).empty(), false); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1111_1111` [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/bitset.rs:163:35 [INFO] [stderr] | [INFO] [stderr] 163 | let mut b = super::BitSet(0b01001010); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0100_1010` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cell_configs.rs:11:26 [INFO] [stderr] | [INFO] [stderr] 11 | pub const CELL_CONFIGS: &'static [&'static [BitSet]] = &[ [INFO] [stderr] | -^^^^^^^-------------------- help: consider removing `'static`: `&[&'static [BitSet]]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cell_configs.rs:11:36 [INFO] [stderr] | [INFO] [stderr] 11 | pub const CELL_CONFIGS: &'static [&'static [BitSet]] = &[ [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[BitSet]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/cell_configs.rs:421:9 [INFO] [stderr] | [INFO] [stderr] 421 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/manifold_dual_contouring.rs:230:5 [INFO] [stderr] | [INFO] [stderr] 230 | return x + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `x + 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: this if statement can be collapsed [INFO] [stderr] --> src/manifold_dual_contouring.rs:281:21 [INFO] [stderr] | [INFO] [stderr] 281 | / if half_index(&neighbor.index) == parent_index { [INFO] [stderr] 282 | | if neigbors.insert(vi) { [INFO] [stderr] 283 | | add_connected_vertices_in_subcell(base, &base[vi], neigbors); [INFO] [stderr] 284 | | } [INFO] [stderr] 285 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 281 | if half_index(&neighbor.index) == parent_index && neigbors.insert(vi) { [INFO] [stderr] 282 | add_connected_vertices_in_subcell(base, &base[vi], neigbors); [INFO] [stderr] 283 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/manifold_dual_contouring.rs:479:9 [INFO] [stderr] | [INFO] [stderr] 479 | return self.sample_value_grid([0, 0, 0], origin, pow2roundup(maxdim), origin_value); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sample_value_grid([0, 0, 0], origin, pow2roundup(maxdim), origin_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/manifold_dual_contouring.rs:625:17 [INFO] [stderr] | [INFO] [stderr] 625 | 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/manifold_dual_contouring.rs:889:9 [INFO] [stderr] | [INFO] [stderr] 889 | 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/manifold_dual_contouring.rs:982:13 [INFO] [stderr] | [INFO] [stderr] 982 | return self.find_zero(a, av, n, nv); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.find_zero(a, av, n, nv)` [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/manifold_dual_contouring.rs:984:13 [INFO] [stderr] | [INFO] [stderr] 984 | return self.find_zero(n, nv, b, bv); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.find_zero(n, nv, b, bv)` [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: `super::*` [INFO] [stderr] --> src/mesh.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/plane.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 13 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/vertex_index.rs:34:29 [INFO] [stderr] | [INFO] [stderr] 34 | 2 => BitSet((bits & 0b1000001) << 3 | (bits & 0b100100) << 6), [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b100_0001` [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/vertex_index.rs:34:55 [INFO] [stderr] | [INFO] [stderr] 34 | 2 => BitSet((bits & 0b1000001) << 3 | (bits & 0b100100) << 6), [INFO] [stderr] | ^^^^^^^^ help: consider: `0b10_0100` [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/vertex_index.rs:35:29 [INFO] [stderr] | [INFO] [stderr] 35 | 3 => BitSet((bits & 0b1000001000) >> 3 | (bits & 0b100100000000) >> 6), [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0b10_0000_1000` [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/vertex_index.rs:35:58 [INFO] [stderr] | [INFO] [stderr] 35 | 3 => BitSet((bits & 0b1000001000) >> 3 | (bits & 0b100100000000) >> 6), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `0b1001_0000_0000` [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: unused import: `super::*` [INFO] [stderr] --> src/lib.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/qef.rs:139:30 [INFO] [stderr] | [INFO] [stderr] 139 | self.btb - _2_as_s * na::dot(point, &self.atb) + na::dot(point, &(*ma * *point)) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'na::dot': use `Matrix::dot` or `Quaternion::dot` instead [INFO] [stderr] --> src/qef.rs:139:58 [INFO] [stderr] | [INFO] [stderr] 139 | self.btb - _2_as_s * na::dot(point, &self.atb) + na::dot(point, &(*ma * *point)) [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bitset.rs:19:18 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn merge(&self, other: BitSet) -> BitSet { [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/bitset.rs:22:22 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn intersect(&self, other: BitSet) -> BitSet { [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/bitset.rs:25:16 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn get(&self, index: usize) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bitset.rs:28:18 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn empty(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/bitset.rs:31:19 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn as_u32(&self) -> u32 { [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/manifold_dual_contouring.rs:72:17 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn base(&self) -> Edge { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/manifold_dual_contouring.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 118 | / match self { [INFO] [stderr] 119 | | &DualContouringError::HitZero(_) => "Hit zero value during grid sampling.", [INFO] [stderr] 120 | | } [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] 118 | match *self { [INFO] [stderr] 119 | DualContouringError::HitZero(_) => "Hit zero value during grid sampling.", [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/manifold_dual_contouring.rs:126:9 [INFO] [stderr] | [INFO] [stderr] 126 | / match self { [INFO] [stderr] 127 | | &DualContouringError::HitZero(ref s) => write!(f, "Hit zero value for {}", s), [INFO] [stderr] 128 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 126 | match *self { [INFO] [stderr] 127 | DualContouringError::HitZero(ref s) => write!(f, "Hit zero value for {}", s), [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/manifold_dual_contouring.rs:271:11 [INFO] [stderr] | [INFO] [stderr] 271 | base: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[Vertex]` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/manifold_dual_contouring.rs:278:13 [INFO] [stderr] | [INFO] [stderr] 278 | / match neighbor_index { [INFO] [stderr] 279 | | &VarIndex::Index(vi) => { [INFO] [stderr] 280 | | let ref neighbor = base[vi]; [INFO] [stderr] 281 | | if half_index(&neighbor.index) == parent_index { [INFO] [stderr] ... | [INFO] [stderr] 289 | | } [INFO] [stderr] 290 | | } [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] 278 | match *neighbor_index { [INFO] [stderr] 279 | VarIndex::Index(vi) => { [INFO] [stderr] 280 | let ref neighbor = base[vi]; [INFO] [stderr] 281 | if half_index(&neighbor.index) == parent_index { [INFO] [stderr] 282 | if neigbors.insert(vi) { [INFO] [stderr] 283 | add_connected_vertices_in_subcell(base, &base[vi], neigbors); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/manifold_dual_contouring.rs:280:25 [INFO] [stderr] | [INFO] [stderr] 280 | let ref neighbor = base[vi]; [INFO] [stderr] | ----^^^^^^^^^^^^------------ help: try: `let neighbor = &base[vi];` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/manifold_dual_contouring.rs:309:15 [INFO] [stderr] | [INFO] [stderr] 309 | vertices: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[Vertex]` [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: the loop variable `i` is used to index `intersections` [INFO] [stderr] --> src/manifold_dual_contouring.rs:318:18 [INFO] [stderr] | [INFO] [stderr] 318 | for i in 0..12 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 318 | for (i, ) in intersections.iter_mut().enumerate() { [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/manifold_dual_contouring.rs:337:57 [INFO] [stderr] | [INFO] [stderr] 337 | fn subsample_octtree>(base: &Vec>) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[Vertex]` [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 don't need to add `&` to all patterns [INFO] [stderr] --> src/manifold_dual_contouring.rs:381:17 [INFO] [stderr] | [INFO] [stderr] 381 | / match neighbor { [INFO] [stderr] 382 | | &mut VarIndex::VertexIndex(_) => { [INFO] [stderr] 383 | | panic!("unexpected VertexIndex in normal node.") [INFO] [stderr] 384 | | } [INFO] [stderr] ... | [INFO] [stderr] 387 | | } [INFO] [stderr] 388 | | } [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] 381 | match *neighbor { [INFO] [stderr] 382 | VarIndex::VertexIndex(_) => { [INFO] [stderr] 383 | panic!("unexpected VertexIndex in normal node.") [INFO] [stderr] 384 | } [INFO] [stderr] 385 | VarIndex::Index(i) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/manifold_dual_contouring.rs:627:27 [INFO] [stderr] | [INFO] [stderr] 627 | .map(|(k, _)| k.clone()) [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*k` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/manifold_dual_contouring.rs:640:40 [INFO] [stderr] | [INFO] [stderr] 640 | let mut adjacent_idx = point_idx.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `point_idx` [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/manifold_dual_contouring.rs:682:17 [INFO] [stderr] | [INFO] [stderr] 682 | assert!(vertex.children.len() == 0 || layer > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vertex.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/manifold_dual_contouring.rs:720:21 [INFO] [stderr] | [INFO] [stderr] 720 | / match neighbor { [INFO] [stderr] 721 | | &mut VarIndex::VertexIndex(vi) => { [INFO] [stderr] 722 | | *neighbor = VarIndex::Index(*index_map.get(&vi).unwrap()) [INFO] [stderr] 723 | | } [INFO] [stderr] 724 | | &mut VarIndex::Index(_) => panic!("unexpected Index in fresh leaf map."), [INFO] [stderr] 725 | | } [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] 720 | match *neighbor { [INFO] [stderr] 721 | VarIndex::VertexIndex(vi) => { [INFO] [stderr] 722 | *neighbor = VarIndex::Index(*index_map.get(&vi).unwrap()) [INFO] [stderr] 723 | } [INFO] [stderr] 724 | VarIndex::Index(_) => panic!("unexpected Index in fresh leaf map."), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/manifold_dual_contouring.rs:722:58 [INFO] [stderr] | [INFO] [stderr] 722 | *neighbor = VarIndex::Index(*index_map.get(&vi).unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&index_map[&vi]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `neighbors` [INFO] [stderr] --> src/manifold_dual_contouring.rs:781:26 [INFO] [stderr] | [INFO] [stderr] 781 | for i in 0..6 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 781 | for (i, ) in neighbors.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/manifold_dual_contouring.rs:799:46 [INFO] [stderr] | [INFO] [stderr] 799 | let tangent_planes: Vec<_> = edge_set [INFO] [stderr] | ______________________________________________^ [INFO] [stderr] 800 | | .into_iter() [INFO] [stderr] | |________________________________^ help: consider removing `.into_iter()`: `edge_set` [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] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/manifold_dual_contouring.rs:834:21 [INFO] [stderr] | [INFO] [stderr] 834 | return *plane.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 834 | return *&(*plane).clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 834 | return *&plane::Plane::clone(plane); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/manifold_dual_contouring.rs:853:34 [INFO] [stderr] | [INFO] [stderr] 853 | let mut octtree_index = *self.vertex_index_map.get(&vertex_index).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.vertex_index_map[&vertex_index]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/manifold_dual_contouring.rs:861:17 [INFO] [stderr] | [INFO] [stderr] 861 | let ref next_vertex = self.vertex_octtree[octtree_layer + 1][next_index]; [INFO] [stderr] | ----^^^^^^^^^^^^^^^------------------------------------------------------ help: try: `let next_vertex = &self.vertex_octtree[octtree_layer + 1][next_index];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/manifold_dual_contouring.rs:885:13 [INFO] [stderr] | [INFO] [stderr] 885 | let ref mut vertex_list = self.mesh.borrow_mut().vertices; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^----------------------------------- help: try: `let vertex_list = &mut self.mesh.borrow_mut().vertices;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/manifold_dual_contouring.rs:943:13 [INFO] [stderr] | [INFO] [stderr] 943 | let ref mut face_list = self.mesh.borrow_mut().faces; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^-------------------------------- help: try: `let face_list = &mut self.mesh.borrow_mut().faces;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/manifold_dual_contouring.rs:967:13 [INFO] [stderr] | [INFO] [stderr] 967 | / let mut result = &a; [INFO] [stderr] 968 | | if Float::abs(bv) < Float::abs(av) { [INFO] [stderr] 969 | | result = &b; [INFO] [stderr] 970 | | } [INFO] [stderr] | |_____________^ help: it is more idiomatic to write: `let result = if Float::abs(bv) < Float::abs(av) { &b } else { &a };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/qef.rs:126:29 [INFO] [stderr] | [INFO] [stderr] 126 | let mut d_mid = na_mid.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `na_mid` [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/qef.rs:166:24 [INFO] [stderr] | [INFO] [stderr] 166 | p: origin.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `origin` [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/qef.rs:170:24 [INFO] [stderr] | [INFO] [stderr] 170 | p: origin.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `origin` [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/qef.rs:174:24 [INFO] [stderr] | [INFO] [stderr] 174 | p: origin.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `origin` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/vertex_index.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | / let neighbor_index; [INFO] [stderr] 67 | | if (face & 1) == 1 { [INFO] [stderr] 68 | | neighbor_index = offset(self.index, off); [INFO] [stderr] 69 | | } else { [INFO] [stderr] 70 | | neighbor_index = neg_offset(self.index, off); [INFO] [stderr] 71 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let neighbor_index = if (face & 1) == 1 { offset(self.index, off) } else { neg_offset(self.index, off) };` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `tessellation`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "6d99bba61722a1c37a7cfd3c23ef5bce8329a55af1cae91fb334c9d2d39dfe20"` [INFO] running `"docker" "rm" "-f" "6d99bba61722a1c37a7cfd3c23ef5bce8329a55af1cae91fb334c9d2d39dfe20"` [INFO] [stdout] 6d99bba61722a1c37a7cfd3c23ef5bce8329a55af1cae91fb334c9d2d39dfe20