[INFO] updating cached repository poida/howitzer-rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/poida/howitzer-rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/poida/howitzer-rs" "work/ex/clippy-test-run/sources/stable/gh/poida/howitzer-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/poida/howitzer-rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/poida/howitzer-rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/poida/howitzer-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/poida/howitzer-rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] a0e3ca7121565e513367a31d911345a1bb93984c [INFO] sha for GitHub repo poida/howitzer-rs: a0e3ca7121565e513367a31d911345a1bb93984c [INFO] validating manifest of poida/howitzer-rs 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 poida/howitzer-rs 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 poida/howitzer-rs [INFO] finished frobbing poida/howitzer-rs [INFO] frobbed toml for poida/howitzer-rs written to work/ex/clippy-test-run/sources/stable/gh/poida/howitzer-rs/Cargo.toml [INFO] started frobbing poida/howitzer-rs [INFO] finished frobbing poida/howitzer-rs [INFO] frobbed toml for poida/howitzer-rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/poida/howitzer-rs/Cargo.toml [INFO] crate poida/howitzer-rs 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 poida/howitzer-rs against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/poida/howitzer-rs:/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 -Dclippy::into_iter_on_array" "-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] 561cafe27a90dacb78306bd48b9cb24d7c5c9f591d819137f9bad6f4a8291488 [INFO] running `"docker" "start" "-a" "561cafe27a90dacb78306bd48b9cb24d7c5c9f591d819137f9bad6f4a8291488"` [INFO] [stderr] Checking howitzer-rs v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:19:25 [INFO] [stderr] | [INFO] [stderr] 19 | return Position2d { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/main.rs:19:31 [INFO] [stderr] | [INFO] [stderr] 19 | return Position2d { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:29:23 [INFO] [stderr] | [INFO] [stderr] 29 | return Vector2d { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:29:29 [INFO] [stderr] | [INFO] [stderr] 29 | return Vector2d { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:19:25 [INFO] [stderr] | [INFO] [stderr] 19 | return Position2d { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/main.rs:19:31 [INFO] [stderr] | [INFO] [stderr] 19 | return Position2d { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:29:23 [INFO] [stderr] | [INFO] [stderr] 29 | return Vector2d { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:29:29 [INFO] [stderr] | [INFO] [stderr] 29 | return Vector2d { x: x, y: y }; [INFO] [stderr] | ^^^^ help: replace it with: `y` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | / return Position2d { [INFO] [stderr] 12 | | x: self.x + v.x, [INFO] [stderr] 13 | | y: self.y + v.y, [INFO] [stderr] 14 | | }; [INFO] [stderr] | |__________^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 11 | Position2d { [INFO] [stderr] 12 | x: self.x + v.x, [INFO] [stderr] 13 | y: self.y + v.y, [INFO] [stderr] 14 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | return Position2d { x: x, y: y }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Position2d { x: x, y: 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:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | return Vector2d { x: x, y: y }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Vector2d { x: x, y: 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:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | / return Vector2d { [INFO] [stderr] 35 | | x: self.x + v.x, [INFO] [stderr] 36 | | y: self.y + v.y, [INFO] [stderr] 37 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 34 | Vector2d { [INFO] [stderr] 35 | x: self.x + v.x, [INFO] [stderr] 36 | y: self.y + v.y, [INFO] [stderr] 37 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | / return Vector2d { [INFO] [stderr] 42 | | x: self.x * scalar, [INFO] [stderr] 43 | | y: self.y * scalar, [INFO] [stderr] 44 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 41 | Vector2d { [INFO] [stderr] 42 | x: self.x * scalar, [INFO] [stderr] 43 | y: self.y * scalar, [INFO] [stderr] 44 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | / return Projectile { [INFO] [stderr] 62 | | position: new_pos, [INFO] [stderr] 63 | | velocity: new_vel, [INFO] [stderr] 64 | | acceleration: self.acceleration.clone(), [INFO] [stderr] 65 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 61 | Projectile { [INFO] [stderr] 62 | position: new_pos, [INFO] [stderr] 63 | velocity: new_vel, [INFO] [stderr] 64 | acceleration: self.acceleration.clone(), [INFO] [stderr] 65 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | return self.health > 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.health > 0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | / return Projectile { [INFO] [stderr] 87 | | position: self.position [INFO] [stderr] 88 | | .add(self.barrel_vector().times(self.barrel_length)), [INFO] [stderr] 89 | | acceleration: vec2(0.0, gravity), [INFO] [stderr] 90 | | velocity: self.barrel_vector().times(power.into()), [INFO] [stderr] 91 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 86 | Projectile { [INFO] [stderr] 87 | position: self.position [INFO] [stderr] 88 | .add(self.barrel_vector().times(self.barrel_length)), [INFO] [stderr] 89 | acceleration: vec2(0.0, gravity), [INFO] [stderr] 90 | velocity: self.barrel_vector().times(power.into()), [INFO] [stderr] 91 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | / return Tank { [INFO] [stderr] 97 | | health: self.health - 50, [INFO] [stderr] 98 | | barrel_angle: self.barrel_angle, [INFO] [stderr] 99 | | barrel_length: self.barrel_length, [INFO] [stderr] 100 | | position: self.position, [INFO] [stderr] 101 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 96 | Tank { [INFO] [stderr] 97 | health: self.health - 50, [INFO] [stderr] 98 | barrel_angle: self.barrel_angle, [INFO] [stderr] 99 | barrel_length: self.barrel_length, [INFO] [stderr] 100 | position: self.position, [INFO] [stderr] 101 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | return vec2(angle.to_radians().cos(), angle.to_radians().sin()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `vec2(angle.to_radians().cos(), angle.to_radians().sin())` [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:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | / return World { [INFO] [stderr] 149 | | wind: self.wind, [INFO] [stderr] 150 | | tanks: t2, [INFO] [stderr] 151 | | projectiles: self.projectiles [INFO] [stderr] ... | [INFO] [stderr] 154 | | .collect(), [INFO] [stderr] 155 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 148 | World { [INFO] [stderr] 149 | wind: self.wind, [INFO] [stderr] 150 | tanks: t2, [INFO] [stderr] 151 | projectiles: self.projectiles [INFO] [stderr] 152 | .iter() // TODO: remove dead projectiles [INFO] [stderr] 153 | .map(|p| p.update(time_delta_seconds)) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:145:17 [INFO] [stderr] | [INFO] [stderr] 145 | return tp; [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `tp` [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:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | / return Position2d { [INFO] [stderr] 12 | | x: self.x + v.x, [INFO] [stderr] 13 | | y: self.y + v.y, [INFO] [stderr] 14 | | }; [INFO] [stderr] | |__________^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 11 | Position2d { [INFO] [stderr] 12 | x: self.x + v.x, [INFO] [stderr] 13 | y: self.y + v.y, [INFO] [stderr] 14 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | return Position2d { x: x, y: y }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Position2d { x: x, y: 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:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | return Vector2d { x: x, y: y }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Vector2d { x: x, y: 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:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | / return Vector2d { [INFO] [stderr] 35 | | x: self.x + v.x, [INFO] [stderr] 36 | | y: self.y + v.y, [INFO] [stderr] 37 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 34 | Vector2d { [INFO] [stderr] 35 | x: self.x + v.x, [INFO] [stderr] 36 | y: self.y + v.y, [INFO] [stderr] 37 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | / return Vector2d { [INFO] [stderr] 42 | | x: self.x * scalar, [INFO] [stderr] 43 | | y: self.y * scalar, [INFO] [stderr] 44 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 41 | Vector2d { [INFO] [stderr] 42 | x: self.x * scalar, [INFO] [stderr] 43 | y: self.y * scalar, [INFO] [stderr] 44 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | / return Projectile { [INFO] [stderr] 62 | | position: new_pos, [INFO] [stderr] 63 | | velocity: new_vel, [INFO] [stderr] 64 | | acceleration: self.acceleration.clone(), [INFO] [stderr] 65 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 61 | Projectile { [INFO] [stderr] 62 | position: new_pos, [INFO] [stderr] 63 | velocity: new_vel, [INFO] [stderr] 64 | acceleration: self.acceleration.clone(), [INFO] [stderr] 65 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | return self.health > 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.health > 0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | / return Projectile { [INFO] [stderr] 87 | | position: self.position [INFO] [stderr] 88 | | .add(self.barrel_vector().times(self.barrel_length)), [INFO] [stderr] 89 | | acceleration: vec2(0.0, gravity), [INFO] [stderr] 90 | | velocity: self.barrel_vector().times(power.into()), [INFO] [stderr] 91 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 86 | Projectile { [INFO] [stderr] 87 | position: self.position [INFO] [stderr] 88 | .add(self.barrel_vector().times(self.barrel_length)), [INFO] [stderr] 89 | acceleration: vec2(0.0, gravity), [INFO] [stderr] 90 | velocity: self.barrel_vector().times(power.into()), [INFO] [stderr] 91 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | / return Tank { [INFO] [stderr] 97 | | health: self.health - 50, [INFO] [stderr] 98 | | barrel_angle: self.barrel_angle, [INFO] [stderr] 99 | | barrel_length: self.barrel_length, [INFO] [stderr] 100 | | position: self.position, [INFO] [stderr] 101 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 96 | Tank { [INFO] [stderr] 97 | health: self.health - 50, [INFO] [stderr] 98 | barrel_angle: self.barrel_angle, [INFO] [stderr] 99 | barrel_length: self.barrel_length, [INFO] [stderr] 100 | position: self.position, [INFO] [stderr] 101 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | return vec2(angle.to_radians().cos(), angle.to_radians().sin()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `vec2(angle.to_radians().cos(), angle.to_radians().sin())` [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:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | / return World { [INFO] [stderr] 149 | | wind: self.wind, [INFO] [stderr] 150 | | tanks: t2, [INFO] [stderr] 151 | | projectiles: self.projectiles [INFO] [stderr] ... | [INFO] [stderr] 154 | | .collect(), [INFO] [stderr] 155 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 148 | World { [INFO] [stderr] 149 | wind: self.wind, [INFO] [stderr] 150 | tanks: t2, [INFO] [stderr] 151 | projectiles: self.projectiles [INFO] [stderr] 152 | .iter() // TODO: remove dead projectiles [INFO] [stderr] 153 | .map(|p| p.update(time_delta_seconds)) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:145:17 [INFO] [stderr] | [INFO] [stderr] 145 | return tp; [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `tp` [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 variable: `projectile` [INFO] [stderr] --> src/main.rs:94:18 [INFO] [stderr] | [INFO] [stderr] 94 | fn hit(self, projectile: Projectile) -> Tank { [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_projectile` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `projectile` [INFO] [stderr] --> src/main.rs:94:18 [INFO] [stderr] | [INFO] [stderr] 94 | fn hit(self, projectile: Projectile) -> Tank { [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_projectile` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | fn add(self, v: Vector2d) -> Position2d { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pos2` [INFO] [stderr] --> src/main.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | fn pos2(x: f64, y: f64) -> Position2d { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `vec2` [INFO] [stderr] --> src/main.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | fn vec2(x: f64, y: f64) -> Vector2d { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add` [INFO] [stderr] --> src/main.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | fn add(self, v: Vector2d) -> Vector2d { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `times` [INFO] [stderr] --> src/main.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | fn times(self, scalar: f64) -> Vector2d { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `update` [INFO] [stderr] --> src/main.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | fn update(self, time_delta_seconds: f64) -> Projectile { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_alive` [INFO] [stderr] --> src/main.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | fn is_alive(self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `shoot` [INFO] [stderr] --> src/main.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | fn shoot(self, power: i8) -> Projectile { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `hit` [INFO] [stderr] --> src/main.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | fn hit(self, projectile: Projectile) -> Tank { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `barrel_vector` [INFO] [stderr] --> src/main.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | fn barrel_vector(self) -> Vector2d { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `update` [INFO] [stderr] --> src/main.rs:118:5 [INFO] [stderr] | [INFO] [stderr] 118 | fn update(self, time_delta_seconds: f64) -> World { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/main.rs:64:27 [INFO] [stderr] | [INFO] [stderr] 64 | acceleration: self.acceleration.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.acceleration` [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/main.rs:124:30 [INFO] [stderr] | [INFO] [stderr] 124 | let mut tp = t.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*t` [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/main.rs:64:27 [INFO] [stderr] | [INFO] [stderr] 64 | acceleration: self.acceleration.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.acceleration` [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/main.rs:124:30 [INFO] [stderr] | [INFO] [stderr] 124 | let mut tp = t.clone(); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*t` [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: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/main.rs:186:17 [INFO] [stderr] | [INFO] [stderr] 186 | assert!(t.is_alive() == false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!t.is_alive()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/main.rs:197:17 [INFO] [stderr] | [INFO] [stderr] 197 | assert!(t.is_alive() == true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `t.is_alive()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.67s [INFO] running `"docker" "inspect" "561cafe27a90dacb78306bd48b9cb24d7c5c9f591d819137f9bad6f4a8291488"` [INFO] running `"docker" "rm" "-f" "561cafe27a90dacb78306bd48b9cb24d7c5c9f591d819137f9bad6f4a8291488"` [INFO] [stdout] 561cafe27a90dacb78306bd48b9cb24d7c5c9f591d819137f9bad6f4a8291488