[INFO] updating cached repository seankelly/baseball [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/seankelly/baseball [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/seankelly/baseball" "work/ex/clippy-test-run/sources/stable/gh/seankelly/baseball"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/seankelly/baseball'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/seankelly/baseball" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/seankelly/baseball"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/seankelly/baseball'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d51a8e0e3b4a12413a7f583b3da84b3243960ddd [INFO] sha for GitHub repo seankelly/baseball: d51a8e0e3b4a12413a7f583b3da84b3243960ddd [INFO] validating manifest of seankelly/baseball 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 seankelly/baseball 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 seankelly/baseball [INFO] finished frobbing seankelly/baseball [INFO] frobbed toml for seankelly/baseball written to work/ex/clippy-test-run/sources/stable/gh/seankelly/baseball/Cargo.toml [INFO] started frobbing seankelly/baseball [INFO] finished frobbing seankelly/baseball [INFO] frobbed toml for seankelly/baseball written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/seankelly/baseball/Cargo.toml [INFO] crate seankelly/baseball 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 seankelly/baseball 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/seankelly/baseball:/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] 8d883eb3b5b3767f4d758a0209a911849d85f9c0e817a411d637c6416c8cbf64 [INFO] running `"docker" "start" "-a" "8d883eb3b5b3767f4d758a0209a911849d85f9c0e817a411d637c6416c8cbf64"` [INFO] [stderr] Checking memchr v2.0.1 [INFO] [stderr] Checking csv-core v0.1.4 [INFO] [stderr] Checking csv v1.0.0 [INFO] [stderr] Checking baseball v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/retrosheet/games.rs:383:9 [INFO] [stderr] | [INFO] [stderr] 383 | return games; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `games` [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/retrosheet/games.rs:383:9 [INFO] [stderr] | [INFO] [stderr] 383 | return games; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `games` [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: redundant field names in struct initialization [INFO] [stderr] --> src/bin/streak.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | team_id: team_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `team_id` [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/bin/streak.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | streak_type: streak_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `streak_type` [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/bin/futility.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | expected: expected, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `expected` [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/bin/streak.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | team_id: team_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `team_id` [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/bin/streak.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | streak_type: streak_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `streak_type` [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/bin/futility.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | expected: expected, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `expected` [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: unneeded return statement [INFO] [stderr] --> src/bin/streak.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | return season; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `season` [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/bin/streak.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | return streaks; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `streaks` [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/bin/futility.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | return teams; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `teams` [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/bin/futility.rs:166:5 [INFO] [stderr] | [INFO] [stderr] 166 | return teams_futility; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `teams_futility` [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/bin/season-results.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | return streaks; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `streaks` [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/bin/season-results.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | return results_map; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `results_map` [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/bin/season-results.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | return full_streaks; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `full_streaks` [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/bin/futility.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | return teams; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `teams` [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/bin/futility.rs:166:5 [INFO] [stderr] | [INFO] [stderr] 166 | return teams_futility; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `teams_futility` [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/bin/season-results.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | return streaks; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `streaks` [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/bin/season-results.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | return results_map; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `results_map` [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/bin/season-results.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | return full_streaks; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `full_streaks` [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/bin/streak.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | return season; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `season` [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/bin/streak.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | return streaks; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `streaks` [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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/bin/streak.rs:73:57 [INFO] [stderr] | [INFO] [stderr] 73 | let mut team = season.entry(game.home_team).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/bin/streak.rs:77:60 [INFO] [stderr] | [INFO] [stderr] 77 | let mut team = season.entry(game.visitor_team).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/bin/streak.rs:98:36 [INFO] [stderr] | [INFO] [stderr] 98 | for (_team_id, team_season) in &season { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 98 | for team_season in season.values() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/bin/streak.rs:100:12 [INFO] [stderr] | [INFO] [stderr] 100 | if team_season.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `team_season.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 zero [INFO] [stderr] --> src/bin/streak.rs:109:16 [INFO] [stderr] | [INFO] [stderr] 109 | if season_streaks.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `season_streaks.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: using `clone` on a `Copy` type [INFO] [stderr] --> src/bin/streak.rs:116:42 [INFO] [stderr] | [INFO] [stderr] 116 | active_streak.end_game = next_streak.end_game.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `next_streak.end_game` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bin/streak.rs:131:33 [INFO] [stderr] | [INFO] [stderr] 131 | fn dump_season_streaks(streaks: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Streak]` [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: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/bin/streak.rs:133:27 [INFO] [stderr] | [INFO] [stderr] 133 | for record in streaks.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FinalTeamResults` [INFO] [stderr] --> src/bin/futility.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | struct FinalTeamResults { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/bin/futility.rs:70:20 [INFO] [stderr] | [INFO] [stderr] 70 | let wins = self.wins as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f32::from(self.wins)` [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 u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/bin/futility.rs:71:22 [INFO] [stderr] | [INFO] [stderr] 71 | let losses = self.losses as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f32::from(self.losses)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/bin/futility.rs:72:20 [INFO] [stderr] | [INFO] [stderr] 72 | let ties = self.ties as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f32::from(self.ties)` [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: struct is never constructed: `FinalTeamResults` [INFO] [stderr] --> src/bin/futility.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | struct FinalTeamResults { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/bin/futility.rs:70:20 [INFO] [stderr] | [INFO] [stderr] 70 | let wins = self.wins as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f32::from(self.wins)` [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 u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/bin/futility.rs:71:22 [INFO] [stderr] | [INFO] [stderr] 71 | let losses = self.losses as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f32::from(self.losses)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/bin/futility.rs:72:20 [INFO] [stderr] | [INFO] [stderr] 72 | let ties = self.ties as f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f32::from(self.ties)` [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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/bin/streak.rs:73:57 [INFO] [stderr] | [INFO] [stderr] 73 | let mut team = season.entry(game.home_team).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/bin/streak.rs:77:60 [INFO] [stderr] | [INFO] [stderr] 77 | let mut team = season.entry(game.visitor_team).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/bin/streak.rs:98:36 [INFO] [stderr] | [INFO] [stderr] 98 | for (_team_id, team_season) in &season { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 98 | for team_season in season.values() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/bin/streak.rs:100:12 [INFO] [stderr] | [INFO] [stderr] 100 | if team_season.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `team_season.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 zero [INFO] [stderr] --> src/bin/streak.rs:109:16 [INFO] [stderr] | [INFO] [stderr] 109 | if season_streaks.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `season_streaks.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: using `clone` on a `Copy` type [INFO] [stderr] --> src/bin/streak.rs:116:42 [INFO] [stderr] | [INFO] [stderr] 116 | active_streak.end_game = next_streak.end_game.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `next_streak.end_game` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bin/streak.rs:131:33 [INFO] [stderr] | [INFO] [stderr] 131 | fn dump_season_streaks(streaks: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Streak]` [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: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/bin/streak.rs:133:27 [INFO] [stderr] | [INFO] [stderr] 133 | for record in streaks.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::clone::Clone` [INFO] [stderr] --> src/bin/trade-trees.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::clone::Clone; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `csv::WriterBuilder` [INFO] [stderr] --> src/bin/trade-trees.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use csv::WriterBuilder; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::clone::Clone` [INFO] [stderr] --> src/bin/trade-trees.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::clone::Clone; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `csv::WriterBuilder` [INFO] [stderr] --> src/bin/trade-trees.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use csv::WriterBuilder; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `transactions` [INFO] [stderr] --> src/bin/trade-trees.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | let transactions = load_transactions(&tran_txt); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider using `_transactions` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Trade` [INFO] [stderr] --> src/bin/trade-trees.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | struct Trade { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Link` [INFO] [stderr] --> src/bin/trade-trees.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | struct Link { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `group_transactions` [INFO] [stderr] --> src/bin/trade-trees.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | fn group_transactions(transactions: Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/bin/trade-trees.rs:38:64 [INFO] [stderr] | [INFO] [stderr] 38 | let mut player_transactions = players.entry(player_id).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bin/season-results.rs:123:39 [INFO] [stderr] | [INFO] [stderr] 123 | fn join_streaks_with_results(streaks: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Streak]` [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/bin/season-results.rs:139:36 [INFO] [stderr] | [INFO] [stderr] 139 | fn dump_full_streaks(full_streaks: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[FullStreak]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/bin/season-results.rs:141:32 [INFO] [stderr] | [INFO] [stderr] 141 | for record in full_streaks.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: unused variable: `transactions` [INFO] [stderr] --> src/bin/trade-trees.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | let transactions = load_transactions(&tran_txt); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider using `_transactions` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Trade` [INFO] [stderr] --> src/bin/trade-trees.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | struct Trade { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Link` [INFO] [stderr] --> src/bin/trade-trees.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | struct Link { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `group_transactions` [INFO] [stderr] --> src/bin/trade-trees.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | fn group_transactions(transactions: Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/bin/trade-trees.rs:38:64 [INFO] [stderr] | [INFO] [stderr] 38 | let mut player_transactions = players.entry(player_id).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bin/season-results.rs:123:39 [INFO] [stderr] | [INFO] [stderr] 123 | fn join_streaks_with_results(streaks: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Streak]` [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/bin/season-results.rs:139:36 [INFO] [stderr] | [INFO] [stderr] 139 | fn dump_full_streaks(full_streaks: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[FullStreak]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/bin/season-results.rs:141:32 [INFO] [stderr] | [INFO] [stderr] 141 | for record in full_streaks.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 13.51s [INFO] running `"docker" "inspect" "8d883eb3b5b3767f4d758a0209a911849d85f9c0e817a411d637c6416c8cbf64"` [INFO] running `"docker" "rm" "-f" "8d883eb3b5b3767f4d758a0209a911849d85f9c0e817a411d637c6416c8cbf64"` [INFO] [stdout] 8d883eb3b5b3767f4d758a0209a911849d85f9c0e817a411d637c6416c8cbf64