[INFO] updating cached repository EthanTheMaster/ik_solver [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/EthanTheMaster/ik_solver [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/EthanTheMaster/ik_solver" "work/ex/clippy-test-run/sources/stable/gh/EthanTheMaster/ik_solver"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/EthanTheMaster/ik_solver'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/EthanTheMaster/ik_solver" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/EthanTheMaster/ik_solver"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/EthanTheMaster/ik_solver'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 69444746568ccaeb0bcbc5cb0f656db7f5fcd37c [INFO] sha for GitHub repo EthanTheMaster/ik_solver: 69444746568ccaeb0bcbc5cb0f656db7f5fcd37c [INFO] validating manifest of EthanTheMaster/ik_solver 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 EthanTheMaster/ik_solver 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 EthanTheMaster/ik_solver [INFO] finished frobbing EthanTheMaster/ik_solver [INFO] frobbed toml for EthanTheMaster/ik_solver written to work/ex/clippy-test-run/sources/stable/gh/EthanTheMaster/ik_solver/Cargo.toml [INFO] started frobbing EthanTheMaster/ik_solver [INFO] finished frobbing EthanTheMaster/ik_solver [INFO] frobbed toml for EthanTheMaster/ik_solver written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/EthanTheMaster/ik_solver/Cargo.toml [INFO] crate EthanTheMaster/ik_solver has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting EthanTheMaster/ik_solver against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/EthanTheMaster/ik_solver:/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] 5008d7e56a62235f49d73900523c08bc0c0db409dc7cf753afcd6e43e8a5b3a5 [INFO] running `"docker" "start" "-a" "5008d7e56a62235f49d73900523c08bc0c0db409dc7cf753afcd6e43e8a5b3a5"` [INFO] [stderr] Compiling phf_generator v0.7.21 [INFO] [stderr] Compiling gl_generator v0.7.0 [INFO] [stderr] Compiling gl_generator v0.6.1 [INFO] [stderr] Checking png v0.9.0 [INFO] [stderr] Checking gfx_core v0.7.2 [INFO] [stderr] Compiling glutin v0.9.2 [INFO] [stderr] Checking rulinalg v0.4.2 [INFO] [stderr] Checking pistoncore-input v0.19.0 [INFO] [stderr] Compiling phf_codegen v0.7.21 [INFO] [stderr] Compiling target_build_utils v0.3.1 [INFO] [stderr] Checking image v0.15.0 [INFO] [stderr] Compiling gfx_gl v0.4.0 [INFO] [stderr] Compiling gl v0.6.5 [INFO] [stderr] Checking pistoncore-window v0.28.0 [INFO] [stderr] Checking pistoncore-event_loop v0.33.0 [INFO] [stderr] Checking piston v0.33.0 [INFO] [stderr] Compiling libloading v0.3.4 [INFO] [stderr] Checking dlib v0.3.1 [INFO] [stderr] Checking wayland-sys v0.9.10 [INFO] [stderr] Checking wayland-client v0.9.10 [INFO] [stderr] Checking wayland-protocols v0.9.10 [INFO] [stderr] Checking wayland-kbd v0.9.1 [INFO] [stderr] Checking wayland-window v0.7.0 [INFO] [stderr] Checking gfx v0.16.3 [INFO] [stderr] Checking gfx_device_gl v0.14.6 [INFO] [stderr] Checking winit v0.7.6 [INFO] [stderr] Checking piston-gfx_texture v0.26.0 [INFO] [stderr] Checking pistoncore-glutin_window v0.39.1 [INFO] [stderr] Checking piston2d-gfx_graphics v0.43.0 [INFO] [stderr] Checking piston_window v0.70.0 [INFO] [stderr] Checking ik_solver v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ik.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | return Matrix::new(2, 1, vec![-1.0 * y_slope, x_slope]) / slope.norm(Euclidean); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Matrix::new(2, 1, vec![-1.0 * y_slope, x_slope]) / slope.norm(Euclidean)` [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/ik.rs:180:9 [INFO] [stderr] | [INFO] [stderr] 180 | return points; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `points` [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/ik.rs:227:9 [INFO] [stderr] | [INFO] [stderr] 227 | return (new_x , new_y); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(new_x , new_y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ik.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | return (new_x , new_y); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(new_x , new_y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | return Matrix::new(2, 1, vec![x, y]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Matrix::new(2, 1, vec![x, y])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | return Matrix::new(2, 1, vec![x, y]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Matrix::new(2, 1, vec![x, y])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | return Matrix::new(2, 1, vec![x, y]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Matrix::new(2, 1, vec![x, y])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | return Matrix::new(2, 1, vec![x, y]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Matrix::new(2, 1, vec![x, y])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: value assigned to `delta_angles` is never read [INFO] [stderr] --> src/ik.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | let mut delta_angles: Matrix = Matrix::new(0,0,vec![]); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `last_position` is never read [INFO] [stderr] --> src/ik.rs:106:21 [INFO] [stderr] | [INFO] [stderr] 106 | let mut last_position: Matrix = Matrix::new(0,0,vec![]); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `create_path` [INFO] [stderr] --> src/ik.rs:150:5 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn create_path(&mut self, goal: &Matrix, window: &mut PistonWindow, windows_settings: &RenderWindow) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/ik.rs:89:12 [INFO] [stderr] | [INFO] [stderr] 89 | if self.rotators.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.rotators.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/ik.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | assert!(self.rotators.len() >= 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.rotators.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/ik.rs:151:17 [INFO] [stderr] | [INFO] [stderr] 151 | assert!(self.rotators.len() >= 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.rotators.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/ik.rs:162:42 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn follow_path(&mut self, goals: &Vec>, window: &mut PistonWindow, windows_settings: &RenderWindow) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: change this to: `&[Matrix]` [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/ik.rs:184:29 [INFO] [stderr] | [INFO] [stderr] 184 | pub fn render(rotators: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Rc>]` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:88:66 [INFO] [stderr] | [INFO] [stderr] 88 | let camera = RenderWindow::new(-10.0, 10.0, -10.0, 10.0, window_size.width as f64, window_size.height as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(window_size.width)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:88:92 [INFO] [stderr] | [INFO] [stderr] 88 | let camera = RenderWindow::new(-10.0, 10.0, -10.0, 10.0, window_size.width as f64, window_size.height as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(window_size.height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:122:23 [INFO] [stderr] | [INFO] [stderr] 122 | println!("{:#?}", assembly.rotators.get(0).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&assembly.rotators[0]` [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: unneeded return statement [INFO] [stderr] --> src/ik.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | return Matrix::new(2, 1, vec![-1.0 * y_slope, x_slope]) / slope.norm(Euclidean); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Matrix::new(2, 1, vec![-1.0 * y_slope, x_slope]) / slope.norm(Euclidean)` [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/ik.rs:180:9 [INFO] [stderr] | [INFO] [stderr] 180 | return points; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `points` [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/ik.rs:227:9 [INFO] [stderr] | [INFO] [stderr] 227 | return (new_x , new_y); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(new_x , new_y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ik.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | return (new_x , new_y); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(new_x , new_y)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | return Matrix::new(2, 1, vec![x, y]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Matrix::new(2, 1, vec![x, y])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | return Matrix::new(2, 1, vec![x, y]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Matrix::new(2, 1, vec![x, y])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | return Matrix::new(2, 1, vec![x, y]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Matrix::new(2, 1, vec![x, y])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | return Matrix::new(2, 1, vec![x, y]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Matrix::new(2, 1, vec![x, y])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: value assigned to `delta_angles` is never read [INFO] [stderr] --> src/ik.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | let mut delta_angles: Matrix = Matrix::new(0,0,vec![]); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `last_position` is never read [INFO] [stderr] --> src/ik.rs:106:21 [INFO] [stderr] | [INFO] [stderr] 106 | let mut last_position: Matrix = Matrix::new(0,0,vec![]); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `create_path` [INFO] [stderr] --> src/ik.rs:150:5 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn create_path(&mut self, goal: &Matrix, window: &mut PistonWindow, windows_settings: &RenderWindow) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/ik.rs:89:12 [INFO] [stderr] | [INFO] [stderr] 89 | if self.rotators.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.rotators.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/ik.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | assert!(self.rotators.len() >= 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.rotators.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/ik.rs:151:17 [INFO] [stderr] | [INFO] [stderr] 151 | assert!(self.rotators.len() >= 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.rotators.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/ik.rs:162:42 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn follow_path(&mut self, goals: &Vec>, window: &mut PistonWindow, windows_settings: &RenderWindow) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: change this to: `&[Matrix]` [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/ik.rs:184:29 [INFO] [stderr] | [INFO] [stderr] 184 | pub fn render(rotators: &Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[Rc>]` [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:88:66 [INFO] [stderr] | [INFO] [stderr] 88 | let camera = RenderWindow::new(-10.0, 10.0, -10.0, 10.0, window_size.width as f64, window_size.height as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(window_size.width)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:88:92 [INFO] [stderr] | [INFO] [stderr] 88 | let camera = RenderWindow::new(-10.0, 10.0, -10.0, 10.0, window_size.width as f64, window_size.height as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(window_size.height)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/main.rs:122:23 [INFO] [stderr] | [INFO] [stderr] 122 | println!("{:#?}", assembly.rotators.get(0).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&assembly.rotators[0]` [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] Finished dev [unoptimized + debuginfo] target(s) in 1m 15s [INFO] running `"docker" "inspect" "5008d7e56a62235f49d73900523c08bc0c0db409dc7cf753afcd6e43e8a5b3a5"` [INFO] running `"docker" "rm" "-f" "5008d7e56a62235f49d73900523c08bc0c0db409dc7cf753afcd6e43e8a5b3a5"` [INFO] [stdout] 5008d7e56a62235f49d73900523c08bc0c0db409dc7cf753afcd6e43e8a5b3a5