[INFO] crate rs_poker 0.4.1 is already in cache [INFO] extracting crate rs_poker 0.4.1 into work/ex/clippy-test-run/sources/stable/reg/rs_poker/0.4.1 [INFO] extracting crate rs_poker 0.4.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rs_poker/0.4.1 [INFO] validating manifest of rs_poker-0.4.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 rs_poker-0.4.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 rs_poker-0.4.1 [INFO] finished frobbing rs_poker-0.4.1 [INFO] frobbed toml for rs_poker-0.4.1 written to work/ex/clippy-test-run/sources/stable/reg/rs_poker/0.4.1/Cargo.toml [INFO] started frobbing rs_poker-0.4.1 [INFO] finished frobbing rs_poker-0.4.1 [INFO] frobbed toml for rs_poker-0.4.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rs_poker/0.4.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 rs_poker-0.4.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rs_poker/0.4.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] d84b717b83a3ef9797ccbabf3adb4afb0a36eafe9c16f3426cdbbdd25044d829 [INFO] running `"docker" "start" "-a" "d84b717b83a3ef9797ccbabf3adb4afb0a36eafe9c16f3426cdbbdd25044d829"` [INFO] [stderr] Checking rs_poker v0.4.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/core/hand.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | Hand { cards: cards } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `cards` [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/core/card_iter.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | possible_cards: possible_cards, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `possible_cards` [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/core/card_iter.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | idx: idx, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `idx` [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/core/card_iter.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | num_cards: num_cards, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `num_cards` [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/core/deck.rs:32:16 [INFO] [stderr] | [INFO] [stderr] 32 | Deck { cards: cards } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `cards` [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/holdem/starting_hand.rs:168:13 [INFO] [stderr] | [INFO] [stderr] 168 | value_one: value_one, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_one` [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/holdem/starting_hand.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | value_two: value_two, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_two` [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/holdem/starting_hand.rs:170:13 [INFO] [stderr] | [INFO] [stderr] 170 | suited: suited, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `suited` [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/holdem/starting_hand.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | value_one: value_one, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_one` [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/holdem/starting_hand.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/holdem/starting_hand.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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/holdem/starting_hand.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | suited: suited, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `suited` [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/holdem/monte_carlo_game.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | hands: hands, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `hands` [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/holdem/parse.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | range: range, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `range` [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/core/hand.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | Hand { cards: cards } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `cards` [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/core/card_iter.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | possible_cards: possible_cards, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `possible_cards` [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/core/card_iter.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | idx: idx, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `idx` [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/core/card_iter.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | num_cards: num_cards, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `num_cards` [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/core/deck.rs:32:16 [INFO] [stderr] | [INFO] [stderr] 32 | Deck { cards: cards } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `cards` [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/holdem/starting_hand.rs:168:13 [INFO] [stderr] | [INFO] [stderr] 168 | value_one: value_one, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_one` [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/holdem/starting_hand.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | value_two: value_two, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_two` [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/holdem/starting_hand.rs:170:13 [INFO] [stderr] | [INFO] [stderr] 170 | suited: suited, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `suited` [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/holdem/starting_hand.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | value_one: value_one, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_one` [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/holdem/starting_hand.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | start: start, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/holdem/starting_hand.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | end: end, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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/holdem/starting_hand.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | suited: suited, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `suited` [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/holdem/monte_carlo_game.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | hands: hands, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `hands` [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/holdem/parse.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | range: range, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `range` [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: long literal lacking separators [INFO] [stderr] --> src/core/rank.rs:32:20 [INFO] [stderr] | [INFO] [stderr] 32 | const WHEEL: u32 = 0b1000000001111; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider: `0b1_0000_0000_1111` [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: unneeded return statement [INFO] [stderr] --> src/core/rank.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | return Some(32 - 4 - idx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(32 - 4 - idx)` [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/core/rank.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | return Some(0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(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: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/core/card.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::sample': renamed to seq::sample_iter [INFO] [stderr] --> src/core/flat_deck.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | use rand::{sample, thread_rng, Rng}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::sample': renamed to seq::sample_iter [INFO] [stderr] --> src/core/flat_deck.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | sample(&mut rng, &self.cards[..], n) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/core/card_iter.rs:152:20 [INFO] [stderr] | [INFO] [stderr] 152 | assert_eq!(2598960, d.into_iter().count()); [INFO] [stderr] | ^^^^^^^ help: consider: `2_598_960` [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/core/rank.rs:32:20 [INFO] [stderr] | [INFO] [stderr] 32 | const WHEEL: u32 = 0b1000000001111; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider: `0b1_0000_0000_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/core/rank.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | return Some(32 - 4 - idx); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(32 - 4 - idx)` [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/core/rank.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | return Some(0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Some(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: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/core/card.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::sample': renamed to seq::sample_iter [INFO] [stderr] --> src/core/flat_deck.rs:6:12 [INFO] [stderr] | [INFO] [stderr] 6 | use rand::{sample, thread_rng, Rng}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::sample': renamed to seq::sample_iter [INFO] [stderr] --> src/core/flat_deck.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | sample(&mut rng, &self.cards[..], n) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/core/card.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/card.rs:107:20 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn to_char(&self) -> char { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/card.rs:133:16 [INFO] [stderr] | [INFO] [stderr] 133 | pub fn gap(&self, other: &Value) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/card.rs:133:30 [INFO] [stderr] | [INFO] [stderr] 133 | pub fn gap(&self, other: &Value) -> u8 { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/card.rs:217:20 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn to_char(&self) -> char { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/deck.rs:35:31 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn contains(&self, c: &Card) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `Card` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/deck.rs:39:33 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn remove(&mut self, c: &Card) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `Card` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/holdem/parse.rs:504:17 [INFO] [stderr] | [INFO] [stderr] 504 | / (suited == Suitedness::Any) || [INFO] [stderr] 505 | | (suited == Suitedness::OffSuit && h[0].suit != h[1].suit) || [INFO] [stderr] 506 | | (suited == Suitedness::Suited && h[0].suit == h[1].suit) [INFO] [stderr] | |____________________________________________________________________________^ help: try: `(suited == Suitedness::Any) || suited == Suitedness::OffSuit && h[0].suit != h[1].suit || suited == Suitedness::Suited && h[0].suit == h[1].suit` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/core/card.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/card.rs:107:20 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn to_char(&self) -> char { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/card.rs:133:16 [INFO] [stderr] | [INFO] [stderr] 133 | pub fn gap(&self, other: &Value) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/card.rs:133:30 [INFO] [stderr] | [INFO] [stderr] 133 | pub fn gap(&self, other: &Value) -> u8 { [INFO] [stderr] | ^^^^^^ help: consider passing by value instead: `Value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/card.rs:217:20 [INFO] [stderr] | [INFO] [stderr] 217 | pub fn to_char(&self) -> char { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `==` [INFO] [stderr] --> src/core/card.rs:275:17 [INFO] [stderr] | [INFO] [stderr] 275 | assert!(c1 == c1); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/deck.rs:35:31 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn contains(&self, c: &Card) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `Card` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/core/deck.rs:39:33 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn remove(&mut self, c: &Card) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `Card` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/core/deck.rs:89:17 [INFO] [stderr] | [INFO] [stderr] 89 | assert!(d.contains(&c) == false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!d.contains(&c)` [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 false can be replaced by a negation [INFO] [stderr] --> src/core/deck.rs:90:17 [INFO] [stderr] | [INFO] [stderr] 90 | assert!(d.remove(&c) == false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!d.remove(&c)` [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] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/parse.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `rs_poker`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/holdem/parse.rs:504:17 [INFO] [stderr] | [INFO] [stderr] 504 | / (suited == Suitedness::Any) || [INFO] [stderr] 505 | | (suited == Suitedness::OffSuit && h[0].suit != h[1].suit) || [INFO] [stderr] 506 | | (suited == Suitedness::Suited && h[0].suit == h[1].suit) [INFO] [stderr] | |____________________________________________________________________________^ help: try: `(suited == Suitedness::Any) || suited == Suitedness::OffSuit && h[0].suit != h[1].suit || suited == Suitedness::Suited && h[0].suit == h[1].suit` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/game.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `rs_poker`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/rank.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `rs_poker`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/holdem/parse.rs:678:17 [INFO] [stderr] | [INFO] [stderr] 678 | assert!(RangeParser::parse_one(&String::from("2c2s")).unwrap().len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!RangeParser::parse_one(&String::from("2c2s")).unwrap().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/holdem/parse.rs:682:17 [INFO] [stderr] | [INFO] [stderr] 682 | assert!(RangeParser::parse_one(&String::from("6c2c")).unwrap().len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!RangeParser::parse_one(&String::from("6c2c")).unwrap().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 zero [INFO] [stderr] --> src/holdem/parse.rs:696:17 [INFO] [stderr] | [INFO] [stderr] 696 | assert!(RangeParser::parse_one(&String::from("2s2+")).unwrap().len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!RangeParser::parse_one(&String::from("2s2+")).unwrap().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 zero [INFO] [stderr] --> src/holdem/parse.rs:700:17 [INFO] [stderr] | [INFO] [stderr] 700 | assert!(RangeParser::parse_one(&String::from("8D8")).unwrap().len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!RangeParser::parse_one(&String::from("8D8")).unwrap().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] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `rs_poker`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> examples/game_simulate.rs:13:17 [INFO] [stderr] | [INFO] [stderr] 13 | for _ in 0..2000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `2_000_000` [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] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/iter.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `rs_poker`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/holdem_starting_hand.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `rs_poker`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "d84b717b83a3ef9797ccbabf3adb4afb0a36eafe9c16f3426cdbbdd25044d829"` [INFO] running `"docker" "rm" "-f" "d84b717b83a3ef9797ccbabf3adb4afb0a36eafe9c16f3426cdbbdd25044d829"` [INFO] [stdout] d84b717b83a3ef9797ccbabf3adb4afb0a36eafe9c16f3426cdbbdd25044d829