[INFO] crate blender-armature 0.0.1 is already in cache [INFO] extracting crate blender-armature 0.0.1 into work/ex/clippy-test-run/sources/stable/reg/blender-armature/0.0.1 [INFO] extracting crate blender-armature 0.0.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/blender-armature/0.0.1 [INFO] validating manifest of blender-armature-0.0.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of blender-armature-0.0.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing blender-armature-0.0.1 [INFO] finished frobbing blender-armature-0.0.1 [INFO] frobbed toml for blender-armature-0.0.1 written to work/ex/clippy-test-run/sources/stable/reg/blender-armature/0.0.1/Cargo.toml [INFO] started frobbing blender-armature-0.0.1 [INFO] finished frobbing blender-armature-0.0.1 [INFO] frobbed toml for blender-armature-0.0.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/blender-armature/0.0.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting blender-armature-0.0.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/blender-armature/0.0.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] d815ebe0def112b74f335ccb01feed8a0c4ff2d0d2126caf85e0289ad207b72c [INFO] running `"docker" "start" "-a" "d815ebe0def112b74f335ccb01feed8a0c4ff2d0d2126caf85e0289ad207b72c"` [INFO] [stderr] Checking blender-armature v0.0.1 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:336:5 [INFO] [stderr] | [INFO] [stderr] 336 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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/lib.rs:336:5 [INFO] [stderr] | [INFO] [stderr] 336 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [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] --> src/lib.rs:386:27 [INFO] [stderr] | [INFO] [stderr] 386 | vec![-0.8488113, -0.52869576, 0.00018605776, 0.0], [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.848_811_3` [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/lib.rs:386:39 [INFO] [stderr] | [INFO] [stderr] 386 | vec![-0.8488113, -0.52869576, 0.00018605776, 0.0], [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.528_695_76` [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/lib.rs:386:51 [INFO] [stderr] | [INFO] [stderr] 386 | vec![-0.8488113, -0.52869576, 0.00018605776, 0.0], [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0.000_186_057_76` [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/lib.rs:387:26 [INFO] [stderr] | [INFO] [stderr] 387 | vec![0.52503425, -0.8428914, 0.117783956, 0.0], [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.525_034_25` [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/lib.rs:387:39 [INFO] [stderr] | [INFO] [stderr] 387 | vec![0.52503425, -0.8428914, 0.117783956, 0.0], [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.842_891_4` [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/lib.rs:387:50 [INFO] [stderr] | [INFO] [stderr] 387 | vec![0.52503425, -0.8428914, 0.117783956, 0.0], [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.117_783_956` [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/lib.rs:388:27 [INFO] [stderr] | [INFO] [stderr] 388 | vec![-0.06211505, 0.100074045, 0.99303925, 0.0], [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.062_115_05` [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/lib.rs:388:39 [INFO] [stderr] | [INFO] [stderr] 388 | vec![-0.06211505, 0.100074045, 0.99303925, 0.0], [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.100_074_045` [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/lib.rs:388:52 [INFO] [stderr] | [INFO] [stderr] 388 | vec![-0.06211505, 0.100074045, 0.99303925, 0.0], [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.993_039_25` [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/lib.rs:389:26 [INFO] [stderr] | [INFO] [stderr] 389 | vec![0.09010744, -0.23331697, 0.018946884, 1.0] [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.090_107_44` [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/lib.rs:389:39 [INFO] [stderr] | [INFO] [stderr] 389 | vec![0.09010744, -0.23331697, 0.018946884, 1.0] [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.233_316_97` [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/lib.rs:389:51 [INFO] [stderr] | [INFO] [stderr] 389 | vec![0.09010744, -0.23331697, 0.018946884, 1.0] [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.018_946_884` [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/lib.rs:392:27 [INFO] [stderr] | [INFO] [stderr] 392 | vec![-0.2744706, -0.01613097, 0.056746617, 0.9597841], [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.274_470_6` [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/lib.rs:392:39 [INFO] [stderr] | [INFO] [stderr] 392 | vec![-0.2744706, -0.01613097, 0.056746617, 0.9597841], [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.016_130_97` [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/lib.rs:392:51 [INFO] [stderr] | [INFO] [stderr] 392 | vec![-0.2744706, -0.01613097, 0.056746617, 0.9597841], [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.056_746_617` [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/lib.rs:392:64 [INFO] [stderr] | [INFO] [stderr] 392 | vec![-0.2744706, -0.01613097, 0.056746617, 0.9597841], [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.959_784_1` [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/lib.rs:393:27 [INFO] [stderr] | [INFO] [stderr] 393 | vec![-0.0017457254, -0.124870464, -0.011375335, -0.00192535] [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0.001_745_725_4` [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/lib.rs:393:42 [INFO] [stderr] | [INFO] [stderr] 393 | vec![-0.0017457254, -0.124870464, -0.011375335, -0.00192535] [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.124_870_464` [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/lib.rs:393:56 [INFO] [stderr] | [INFO] [stderr] 393 | vec![-0.0017457254, -0.124870464, -0.011375335, -0.00192535] [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.011_375_335` [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/lib.rs:393:70 [INFO] [stderr] | [INFO] [stderr] 393 | vec![-0.0017457254, -0.124870464, -0.011375335, -0.00192535] [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.001_925_35` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/interpolate.rs:194:25 [INFO] [stderr] | [INFO] [stderr] 194 | let keyframes = self.actions.get(action.action_name).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.actions[action.action_name]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/interpolate.rs:206:17 [INFO] [stderr] | [INFO] [stderr] 206 | time_elapsed_since_first_keyframe = time_elapsed_since_first_keyframe % action_duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `time_elapsed_since_first_keyframe %= action_duration` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/interpolate.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 239 | / match start_bone { [INFO] [stderr] 240 | | &Bone::DualQuat(ref start_dual_quat) => match end_bone { [INFO] [stderr] 241 | | &Bone::DualQuat(ref end_dual_quat) => { [INFO] [stderr] 242 | | let interpolated_dual_quat: Vec = start_dual_quat [INFO] [stderr] ... | [INFO] [stderr] 255 | | &Bone::Matrix(ref _matrix) => unimplemented!(), [INFO] [stderr] 256 | | } [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] 239 | match *start_bone { [INFO] [stderr] 240 | Bone::DualQuat(ref start_dual_quat) => match end_bone { [INFO] [stderr] 241 | &Bone::DualQuat(ref end_dual_quat) => { [INFO] [stderr] 242 | let interpolated_dual_quat: Vec = start_dual_quat [INFO] [stderr] 243 | .iter() [INFO] [stderr] 244 | .zip(end_dual_quat.iter()) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/interpolate.rs:240:49 [INFO] [stderr] | [INFO] [stderr] 240 | &Bone::DualQuat(ref start_dual_quat) => match end_bone { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 241 | | &Bone::DualQuat(ref end_dual_quat) => { [INFO] [stderr] 242 | | let interpolated_dual_quat: Vec = start_dual_quat [INFO] [stderr] 243 | | .iter() [INFO] [stderr] ... | [INFO] [stderr] 253 | | ), [INFO] [stderr] 254 | | }, [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] 240 | &Bone::DualQuat(ref start_dual_quat) => match *end_bone { [INFO] [stderr] 241 | Bone::DualQuat(ref end_dual_quat) => { [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/interpolate.rs:261:41 [INFO] [stderr] | [INFO] [stderr] 261 | fn get_surrounding_keyframes(keyframes: &Vec, key_time_to_sample: f32) -> (&Keyframe, &Keyframe) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Keyframe]` [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/interpolate.rs:281:19 [INFO] [stderr] | [INFO] [stderr] 281 | fn dot_product(a: &Vec, b: &Vec) -> f32 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[f32]` [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/interpolate.rs:281:33 [INFO] [stderr] | [INFO] [stderr] 281 | fn dot_product(a: &Vec, b: &Vec) -> f32 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[f32]` [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/lib.rs:165:39 [INFO] [stderr] | [INFO] [stderr] 165 | fn matrix_array_to_slices(matrix: &Vec) -> [[f32; 4]; 4] { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[f32]` [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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:322:61 [INFO] [stderr] | [INFO] [stderr] 322 | let armature_filename: Vec<&str> = first_line.split(" ").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:325:46 [INFO] [stderr] | [INFO] [stderr] 325 | let armature_name = first_line.split(" ").last().unwrap().to_string(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/interpolate.rs:194:25 [INFO] [stderr] | [INFO] [stderr] 194 | let keyframes = self.actions.get(action.action_name).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.actions[action.action_name]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/interpolate.rs:206:17 [INFO] [stderr] | [INFO] [stderr] 206 | time_elapsed_since_first_keyframe = time_elapsed_since_first_keyframe % action_duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `time_elapsed_since_first_keyframe %= action_duration` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/interpolate.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 239 | / match start_bone { [INFO] [stderr] 240 | | &Bone::DualQuat(ref start_dual_quat) => match end_bone { [INFO] [stderr] 241 | | &Bone::DualQuat(ref end_dual_quat) => { [INFO] [stderr] 242 | | let interpolated_dual_quat: Vec = start_dual_quat [INFO] [stderr] ... | [INFO] [stderr] 255 | | &Bone::Matrix(ref _matrix) => unimplemented!(), [INFO] [stderr] 256 | | } [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] 239 | match *start_bone { [INFO] [stderr] 240 | Bone::DualQuat(ref start_dual_quat) => match end_bone { [INFO] [stderr] 241 | &Bone::DualQuat(ref end_dual_quat) => { [INFO] [stderr] 242 | let interpolated_dual_quat: Vec = start_dual_quat [INFO] [stderr] 243 | .iter() [INFO] [stderr] 244 | .zip(end_dual_quat.iter()) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/interpolate.rs:240:49 [INFO] [stderr] | [INFO] [stderr] 240 | &Bone::DualQuat(ref start_dual_quat) => match end_bone { [INFO] [stderr] | _________________________________________________^ [INFO] [stderr] 241 | | &Bone::DualQuat(ref end_dual_quat) => { [INFO] [stderr] 242 | | let interpolated_dual_quat: Vec = start_dual_quat [INFO] [stderr] 243 | | .iter() [INFO] [stderr] ... | [INFO] [stderr] 253 | | ), [INFO] [stderr] 254 | | }, [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] 240 | &Bone::DualQuat(ref start_dual_quat) => match *end_bone { [INFO] [stderr] 241 | Bone::DualQuat(ref end_dual_quat) => { [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/interpolate.rs:261:41 [INFO] [stderr] | [INFO] [stderr] 261 | fn get_surrounding_keyframes(keyframes: &Vec, key_time_to_sample: f32) -> (&Keyframe, &Keyframe) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Keyframe]` [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/interpolate.rs:281:19 [INFO] [stderr] | [INFO] [stderr] 281 | fn dot_product(a: &Vec, b: &Vec) -> f32 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[f32]` [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/interpolate.rs:281:33 [INFO] [stderr] | [INFO] [stderr] 281 | fn dot_product(a: &Vec, b: &Vec) -> f32 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[f32]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/interpolate.rs:492:33 [INFO] [stderr] | [INFO] [stderr] 492 | let interpolated_bone = interpolated_bones.get(&0).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&interpolated_bones[&0]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib.rs:165:39 [INFO] [stderr] | [INFO] [stderr] 165 | fn matrix_array_to_slices(matrix: &Vec) -> [[f32; 4]; 4] { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[f32]` [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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:322:61 [INFO] [stderr] | [INFO] [stderr] 322 | let armature_filename: Vec<&str> = first_line.split(" ").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:325:46 [INFO] [stderr] | [INFO] [stderr] 325 | let armature_name = first_line.split(" ").last().unwrap().to_string(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.81s [INFO] running `"docker" "inspect" "d815ebe0def112b74f335ccb01feed8a0c4ff2d0d2126caf85e0289ad207b72c"` [INFO] running `"docker" "rm" "-f" "d815ebe0def112b74f335ccb01feed8a0c4ff2d0d2126caf85e0289ad207b72c"` [INFO] [stdout] d815ebe0def112b74f335ccb01feed8a0c4ff2d0d2126caf85e0289ad207b72c