diff --git a/assignmentSix/src/main.rs b/assignmentSix/src/main.rs index 9759455..31e94a6 100644 --- a/assignmentSix/src/main.rs +++ b/assignmentSix/src/main.rs @@ -223,11 +223,20 @@ impl Deck self.card_deck.shuffle(&mut thread_rng()); return self; } - fn draw(mut self) -> Card + fn draw(&mut self) -> Card { // return Card{cardRank: Rank::TWO, cardSuit: Suit::CLUBS}; - let pull_card = self.card_deck.pop().unwrap(); - return pull_card; + if !self.card_deck.is_empty() + { + // let pull_card = self.card_deck.pop().unwrap(); + // println!("Num cards left: {}", self.card_deck.len()); + return self.card_deck.pop().unwrap(); + } + else + { + panic!("Card ran out somehow"); + } + // return pull_card; } fn is_empty(&self) -> bool { @@ -267,7 +276,7 @@ impl Player // append the card vector to the player's hand. self.player_hand.append(&mut card_vec); } - fn has_rank(mut self, in_card_rank: Rank) -> Vec + fn has_rank(&mut self, in_card_rank: &Rank) -> Vec { // check to see if the rank matches any of the items in vector // if they do match, remove from hand, place into temp vector, @@ -277,12 +286,12 @@ impl Player loop { // - if self.player_hand.is_empty() || self.player_hand.len() > card_counter + if self.player_hand.is_empty() || self.player_hand.len() - 1 < card_counter { // break; } - if self.player_hand.get(card_counter).unwrap().card_rank == in_card_rank + if self.player_hand.get(card_counter).unwrap().card_rank == *in_card_rank { // let current_card = Card @@ -350,11 +359,170 @@ impl Player struct Game { // data + full_card_deck: Deck, + human_player: Player, + computer_player: Player, + human_score: u32, + computer_score: u32 } impl Game { // methods + fn new() -> Game + { + let mut full_game = Game + { + full_card_deck: Deck::new(), + human_player: Player::new(), + computer_player: Player::new(), + human_score: 0, + computer_score: 0 + }; + // deal seven cards to each player. + let mut card_count = 0; + let mut human_cards_vec = vec![]; + let mut computer_cards_vec = vec![]; + loop + { + if card_count > 6 + { + break; + } + // full_game.human_player.add_cards(full_game.full_card_deck.draw()); + human_cards_vec.push(full_game.full_card_deck.draw()); + computer_cards_vec.push(full_game.full_card_deck.draw()); + card_count = card_count + 1; + } + full_game.human_player.add_cards(human_cards_vec); + full_game.computer_player.add_cards(computer_cards_vec); + return full_game; + } + fn human_turn(&mut self) + { + print!("Human's Turn: "); + for card in &*self.human_player.player_hand + { + print!("{} ", card); + } + println!(""); + print!("Your turn. Enter a rank (2-10, A/1, J/11, Q/12, K/13): "); + let _=io::stdout().flush(); + let mut rank_enter = String::new(); + let mut rank_num: i32 = 0; + let mut rank_exit: Rank; + io::stdin().read_line(&mut rank_enter).expect("String wrong"); + rank_num = rank_enter.trim().parse().unwrap(); + rank_exit = number_to_rank(rank_num); + // check if the computer has the rank requested. + let mut temp_vec = self.computer_player.has_rank(&rank_exit); + if !temp_vec.is_empty() + { + println!("Computer has {}s.", rank_exit); + // add the cards from the temp_vec. + self.human_player.add_cards(temp_vec); + } + else + { + println!("Computer does not have {}s. Go fish.", rank_exit); + // draw a card. + let mut new_card_vec = vec![]; + new_card_vec.push(self.full_card_deck.draw()); + // self.human_player.player_hand.push(self.full_card_deck.draw()); + self.human_player.add_cards(new_card_vec) + } + if self.human_player.check_set() + { + self.human_score = self.human_score + 1; + } + } + fn computer_turn(&mut self) + { + print!("Computer's Turn... "); + // unneeded + // for card in &*self.computer_player.player_hand + // { + // print!("{} ", card); + // } + println!(""); + // substitute picking a rank here + // print!("Computer's turn. Enter a rank (2-10, A/1, J/11, Q/12, K/13): "); + // let _=io::stdout().flush(); + // let mut rank_enter = String::new(); + // let mut rank_num: i32 = 0; + // let mut rank_exit: Rank; + // io::stdin().read_line(&mut rank_enter).expect("String wrong"); + // rank_num = rank_enter.trim().parse().unwrap(); + // rank_exit = number_to_rank(rank_num); + // end substitute + let rank_pick = rand::thread_rng().gen_range(1..=13); + // check if the computer has the rank requested. + let mut temp_vec = self.human_player.has_rank(&number_to_rank(rank_pick)); + if !temp_vec.is_empty() + { + // + println!("Human has {}s.", number_to_rank(rank_pick)); + // add the cards from the temp_vec. + self.computer_player.add_cards(temp_vec); + } + else + { + // + println!("Human does not have {}s. Computer goes fish.", number_to_rank(rank_pick)); + // draw a card. + let mut new_card_vec = vec![]; + new_card_vec.push(self.full_card_deck.draw()); + self.computer_player.add_cards(new_card_vec) + } + if self.computer_player.check_set() + { + // + self.computer_score = self.computer_score + 1; + } + } + fn play(&mut self) + { + // + loop + { + // CURRENTLY, cards run out somehow without ever actually checking? + if self.full_card_deck.card_deck.len() == 0 + { + // + println!("Game Over."); + self.print_scores(); + self.winner(); + break; + } + self.human_turn(); + self.computer_turn(); + } + } + fn print_scores(&mut self) + { + // + println!("Human Score: {}", self.human_score); + println!("Computer Score: {}", self.computer_score); + } + fn winner(&mut self) + { + // + if self.human_score > self.computer_score + { + // + println!("Human Wins with a score of: {}", self.human_score); + } + else if self.human_score < self.computer_score + { + // + println!("Computer Wins with a score of: {}", self.computer_score); + } + else + { + // + println!("It's a tie!"); + } + } } fn main() @@ -374,35 +542,35 @@ fn main() // card_vec.push(Card{card_rank: Rank::NINE, card_suit: Suit::DIAMONDS}); // card_vec.push(Card{card_rank: Rank::FIVE, card_suit: Suit::CLUBS}); // card_vec.push(Card{card_rank: Rank::NINE, card_suit: Suit::SPADES}); - let mut current_player = Player::new(); - current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::HEARTS}); - current_player.player_hand.push(Card{card_rank: Rank::THREE, card_suit: Suit::CLUBS}); - current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::DIAMONDS}); - current_player.player_hand.push(Card{card_rank: Rank::NINE, card_suit: Suit::HEARTS}); - current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::SPADES}); - current_player.player_hand.push(Card{card_rank: Rank::NINE, card_suit: Suit::CLUBS}); - current_player.player_hand.push(Card{card_rank: Rank::ACE, card_suit: Suit::HEARTS}); - current_player.player_hand.push(Card{card_rank: Rank::NINE, card_suit: Suit::DIAMONDS}); - current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::CLUBS}); - current_player.player_hand.push(Card{card_rank: Rank::NINE, card_suit: Suit::SPADES}); + // let mut current_player = Player::new(); + // current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::HEARTS}); + // current_player.player_hand.push(Card{card_rank: Rank::THREE, card_suit: Suit::CLUBS}); + // current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::DIAMONDS}); + // current_player.player_hand.push(Card{card_rank: Rank::NINE, card_suit: Suit::HEARTS}); + // current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::SPADES}); + // current_player.player_hand.push(Card{card_rank: Rank::NINE, card_suit: Suit::CLUBS}); + // current_player.player_hand.push(Card{card_rank: Rank::ACE, card_suit: Suit::HEARTS}); + // current_player.player_hand.push(Card{card_rank: Rank::NINE, card_suit: Suit::DIAMONDS}); + // current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::CLUBS}); + // current_player.player_hand.push(Card{card_rank: Rank::NINE, card_suit: Suit::SPADES}); // current_player.add_cards(card_vec); - for card in ¤t_player.player_hand - { - // - println!("After deal: {}", card); - } - current_player.check_set(); - for card in ¤t_player.player_hand - { - // - println!("After set check: {}", card); - } - current_player.check_set(); - for card in ¤t_player.player_hand - { - // - println!("After 2nd set check: {}", card); - } + // for card in ¤t_player.player_hand + // { + // // + // println!("After deal: {}", card); + // } + // current_player.check_set(); + // for card in ¤t_player.player_hand + // { + // // + // println!("After set check: {}", card); + // } + // current_player.check_set(); + // for card in ¤t_player.player_hand + // { + // // + // println!("After 2nd set check: {}", card); + // } // println!("{}{}", Rank::TWO, Suit::DIAMONDS); // let tempCard = Card // { @@ -429,8 +597,8 @@ fn main() // println!("Drawn Card: {}", tempDeck.draw()); // verified works. // tempDeck = tempDeck.shuffle(); // verified works // TEMP END - // let mut game = Game::new(); - // game.play(); + let mut game = Game::new(); + game.play(); // game.print_scores(); // println!("The winner is: {}", game.winner()); } diff --git a/assignmentSix/target/debug/.fingerprint/assignment_six-8f570ff535dc4659/output-bin-assignment_six b/assignmentSix/target/debug/.fingerprint/assignment_six-8f570ff535dc4659/output-bin-assignment_six index 7f30a5a..2b3ac17 100644 --- a/assignmentSix/target/debug/.fingerprint/assignment_six-8f570ff535dc4659/output-bin-assignment_six +++ b/assignmentSix/target/debug/.fingerprint/assignment_six-8f570ff535dc4659/output-bin-assignment_six @@ -1,12 +1,8 @@ -{"$message_type":"diagnostic","message":"unused import: `std::io`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":36,"byte_end":43,"line_start":2,"line_end":2,"column_start":5,"column_end":12,"is_primary":true,"text":[{"text":"use std::io;","highlight_start":5,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/main.rs","byte_start":32,"byte_end":45,"line_start":2,"line_end":3,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use std::io;","highlight_start":1,"highlight_end":13},{"text":"use std::io::Write;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `std::io`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:2:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0muse std::io;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"} -{"$message_type":"diagnostic","message":"unused import: `rand::Rng`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":83,"byte_end":92,"line_start":5,"line_end":5,"column_start":5,"column_end":14,"is_primary":true,"text":[{"text":"use rand::Rng;","highlight_start":5,"highlight_end":14}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/main.rs","byte_start":79,"byte_end":94,"line_start":5,"line_end":6,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use rand::Rng;","highlight_start":1,"highlight_end":15},{"text":"use rand::thread_rng;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `rand::Rng`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:5:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0muse rand::Rng;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\n"} -{"$message_type":"diagnostic","message":"unused import: `std::io::Write`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":49,"byte_end":63,"line_start":3,"line_end":3,"column_start":5,"column_end":19,"is_primary":true,"text":[{"text":"use std::io::Write;","highlight_start":5,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `std::io::Write`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:3:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0muse std::io::Write;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^\u001b[0m\n\n"} -{"$message_type":"diagnostic","message":"variable does not need to be mutable","code":{"code":"unused_mut","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":6311,"byte_end":6319,"line_start":259,"line_end":259,"column_start":13,"column_end":21,"is_primary":true,"text":[{"text":" let mut hand = Player","highlight_start":13,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_mut)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove this `mut`","code":null,"level":"help","spans":[{"file_name":"src/main.rs","byte_start":6311,"byte_end":6315,"line_start":259,"line_end":259,"column_start":13,"column_end":17,"is_primary":true,"text":[{"text":" let mut hand = Player","highlight_start":13,"highlight_end":17}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: variable does not need to be mutable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:259:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut hand = Player\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----\u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: remove this `mut`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_mut)]` on by default\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"variable does not need to be mutable","code":{"code":"unused_mut","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":6576,"byte_end":6584,"line_start":268,"line_end":268,"column_start":13,"column_end":21,"is_primary":true,"text":[{"text":" let mut hand = Player","highlight_start":13,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_mut)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove this `mut`","code":null,"level":"help","spans":[{"file_name":"src/main.rs","byte_start":6576,"byte_end":6580,"line_start":268,"line_end":268,"column_start":13,"column_end":17,"is_primary":true,"text":[{"text":" let mut hand = Player","highlight_start":13,"highlight_end":17}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: variable does not need to be mutable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:268:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m268\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut hand = Player\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----\u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: remove this `mut`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_mut)]` on by default\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"value assigned to `rank_num` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":11276,"byte_end":11284,"line_start":412,"line_end":412,"column_start":17,"column_end":25,"is_primary":true,"text":[{"text":" let mut rank_num: i32 = 0;","highlight_start":17,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe it is overwritten before being read?","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"`#[warn(unused_assignments)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: value assigned to `rank_num` is never read\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:412:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut rank_num: i32 = 0;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: maybe it is overwritten before being read?\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_assignments)]` on by default\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"variable does not need to be mutable","code":{"code":"unused_mut","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":11307,"byte_end":11320,"line_start":413,"line_end":413,"column_start":13,"column_end":26,"is_primary":true,"text":[{"text":" let mut rank_exit: Rank;","highlight_start":13,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove this `mut`","code":null,"level":"help","spans":[{"file_name":"src/main.rs","byte_start":11307,"byte_end":11311,"line_start":413,"line_end":413,"column_start":13,"column_end":17,"is_primary":true,"text":[{"text":" let mut rank_exit: Rank;","highlight_start":13,"highlight_end":17}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: variable does not need to be mutable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:413:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut rank_exit: Rank;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----\u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: remove this `mut`\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"variable does not need to be mutable","code":{"code":"unused_mut","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":11569,"byte_end":11581,"line_start":418,"line_end":418,"column_start":13,"column_end":25,"is_primary":true,"text":[{"text":" let mut temp_vec = self.computer_player.has_rank(&rank_exit);","highlight_start":13,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove this `mut`","code":null,"level":"help","spans":[{"file_name":"src/main.rs","byte_start":11569,"byte_end":11573,"line_start":418,"line_end":418,"column_start":13,"column_end":17,"is_primary":true,"text":[{"text":" let mut temp_vec = self.computer_player.has_rank(&rank_exit);","highlight_start":13,"highlight_end":17}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: variable does not need to be mutable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:418:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m418\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut temp_vec = self.computer_player.has_rank(&rank_exit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----\u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: remove this `mut`\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"variable does not need to be mutable","code":{"code":"unused_mut","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":13184,"byte_end":13196,"line_start":460,"line_end":460,"column_start":13,"column_end":25,"is_primary":true,"text":[{"text":" let mut temp_vec = self.human_player.has_rank(&number_to_rank(rank_pick));","highlight_start":13,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove this `mut`","code":null,"level":"help","spans":[{"file_name":"src/main.rs","byte_start":13184,"byte_end":13188,"line_start":460,"line_end":460,"column_start":13,"column_end":17,"is_primary":true,"text":[{"text":" let mut temp_vec = self.human_player.has_rank(&number_to_rank(rank_pick));","highlight_start":13,"highlight_end":17}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: variable does not need to be mutable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:460:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m460\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut temp_vec = self.human_player.has_rank(&number_to_rank(rank_pick));\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----\u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: remove this `mut`\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"function `rank_to_number` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":1820,"byte_end":1834,"line_start":80,"line_end":80,"column_start":4,"column_end":18,"is_primary":true,"text":[{"text":"fn rank_to_number(in_rank: Rank) -> i32","highlight_start":4,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(dead_code)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: function `rank_to_number` is never used\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:80:4\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m80\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mfn rank_to_number(in_rank: Rank) -> i32\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(dead_code)]` on by default\u001b[0m\n\n"} -{"$message_type":"diagnostic","message":"variant `None` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":2361,"byte_end":2365,"line_start":105,"line_end":105,"column_start":6,"column_end":10,"is_primary":false,"text":[{"text":"enum Suit","highlight_start":6,"highlight_end":10}],"label":"variant in this enum","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/main.rs","byte_start":2372,"byte_end":2376,"line_start":107,"line_end":107,"column_start":5,"column_end":9,"is_primary":true,"text":[{"text":" None,","highlight_start":5,"highlight_end":9}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`Suit` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: variant `None` is never constructed\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:107:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m105\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0menum Suit\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mvariant in this enum\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m106\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m{\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m107\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m None,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `Suit` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis\u001b[0m\n\n"} -{"$message_type":"diagnostic","message":"function `number_to_suit` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":2819,"byte_end":2833,"line_start":126,"line_end":126,"column_start":4,"column_end":18,"is_primary":true,"text":[{"text":"fn number_to_suit(num_suit: i32) -> Suit","highlight_start":4,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: function `number_to_suit` is never used\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:126:4\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m126\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mfn number_to_suit(num_suit: i32) -> Suit\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^\u001b[0m\n\n"} -{"$message_type":"diagnostic","message":"struct `Deck` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":3634,"byte_end":3638,"line_start":160,"line_end":160,"column_start":8,"column_end":12,"is_primary":true,"text":[{"text":"struct Deck","highlight_start":8,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: struct `Deck` is never constructed\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:160:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m160\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mstruct Deck\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^\u001b[0m\n\n"} -{"$message_type":"diagnostic","message":"associated items `new`, `shuffle`, `draw`, and `is_empty` are never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":3669,"byte_end":3678,"line_start":165,"line_end":165,"column_start":1,"column_end":10,"is_primary":false,"text":[{"text":"impl Deck","highlight_start":1,"highlight_end":10}],"label":"associated items in this implementation","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/main.rs","byte_start":3688,"byte_end":3691,"line_start":167,"line_end":167,"column_start":8,"column_end":11,"is_primary":true,"text":[{"text":" fn new() -> Deck","highlight_start":8,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/main.rs","byte_start":5273,"byte_end":5280,"line_start":220,"line_end":220,"column_start":8,"column_end":15,"is_primary":true,"text":[{"text":" fn shuffle(mut self) -> Deck","highlight_start":8,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/main.rs","byte_start":5401,"byte_end":5405,"line_start":226,"line_end":226,"column_start":8,"column_end":12,"is_primary":true,"text":[{"text":" fn draw(mut self) -> Card","highlight_start":8,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/main.rs","byte_start":5592,"byte_end":5600,"line_start":232,"line_end":232,"column_start":8,"column_end":16,"is_primary":true,"text":[{"text":" fn is_empty(&self) -> bool","highlight_start":8,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: associated items `new`, `shuffle`, `draw`, and `is_empty` are never used\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:167:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m165\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mimpl Deck\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12massociated items in this implementation\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m166\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m{\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m167\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn new() -> Deck\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m220\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn shuffle(mut self) -> Deck\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m226\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn draw(mut self) -> Card\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m232\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn is_empty(&self) -> bool\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} -{"$message_type":"diagnostic","message":"methods `add_cards` and `has_rank` are never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":6238,"byte_end":6249,"line_start":253,"line_end":253,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"impl Player","highlight_start":1,"highlight_end":12}],"label":"methods in this implementation","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/main.rs","byte_start":6416,"byte_end":6425,"line_start":265,"line_end":265,"column_start":8,"column_end":17,"is_primary":true,"text":[{"text":" fn add_cards(&mut self, mut card_vec: Vec)","highlight_start":8,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/main.rs","byte_start":6585,"byte_end":6593,"line_start":270,"line_end":270,"column_start":8,"column_end":16,"is_primary":true,"text":[{"text":" fn has_rank(mut self, in_card_rank: Rank) -> Vec","highlight_start":8,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: methods `add_cards` and `has_rank` are never used\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:265:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m253\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mimpl Player\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mmethods in this implementation\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m265\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn add_cards(&mut self, mut card_vec: Vec)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m270\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn has_rank(mut self, in_card_rank: Rank) -> Vec\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} -{"$message_type":"diagnostic","message":"struct `Game` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":9503,"byte_end":9507,"line_start":350,"line_end":350,"column_start":8,"column_end":12,"is_primary":true,"text":[{"text":"struct Game","highlight_start":8,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: struct `Game` is never constructed\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:350:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m350\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mstruct Game\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^\u001b[0m\n\n"} -{"$message_type":"diagnostic","message":"11 warnings emitted","code":null,"level":"warning","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: 11 warnings emitted\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"methods `shuffle` and `is_empty` are never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":3669,"byte_end":3678,"line_start":165,"line_end":165,"column_start":1,"column_end":10,"is_primary":false,"text":[{"text":"impl Deck","highlight_start":1,"highlight_end":10}],"label":"methods in this implementation","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/main.rs","byte_start":5273,"byte_end":5280,"line_start":220,"line_end":220,"column_start":8,"column_end":15,"is_primary":true,"text":[{"text":" fn shuffle(mut self) -> Deck","highlight_start":8,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/main.rs","byte_start":5857,"byte_end":5865,"line_start":241,"line_end":241,"column_start":8,"column_end":16,"is_primary":true,"text":[{"text":" fn is_empty(&self) -> bool","highlight_start":8,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: methods `shuffle` and `is_empty` are never used\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:220:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m165\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mimpl Deck\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mmethods in this implementation\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m220\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn shuffle(mut self) -> Deck\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m241\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn is_empty(&self) -> bool\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"7 warnings emitted","code":null,"level":"warning","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: 7 warnings emitted\u001b[0m\n\n"} diff --git a/assignmentSix/target/debug/assignment_six b/assignmentSix/target/debug/assignment_six index 80fbce7..deba0c8 100755 Binary files a/assignmentSix/target/debug/assignment_six and b/assignmentSix/target/debug/assignment_six differ diff --git a/assignmentSix/target/debug/deps/assignment_six-8f570ff535dc4659 b/assignmentSix/target/debug/deps/assignment_six-8f570ff535dc4659 index 80fbce7..deba0c8 100755 Binary files a/assignmentSix/target/debug/deps/assignment_six-8f570ff535dc4659 and b/assignmentSix/target/debug/deps/assignment_six-8f570ff535dc4659 differ diff --git a/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h213ro4lpm-1egkbep-ejzbzdlksndewbczcbm7fyo2z/dep-graph.bin b/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h213ro4lpm-1egkbep-ejzbzdlksndewbczcbm7fyo2z/dep-graph.bin deleted file mode 100644 index 7ba3559..0000000 Binary files a/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h213ro4lpm-1egkbep-ejzbzdlksndewbczcbm7fyo2z/dep-graph.bin and /dev/null differ diff --git a/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h213ro4lpm-1egkbep-ejzbzdlksndewbczcbm7fyo2z/query-cache.bin b/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h213ro4lpm-1egkbep-ejzbzdlksndewbczcbm7fyo2z/query-cache.bin deleted file mode 100644 index b13ee92..0000000 Binary files a/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h213ro4lpm-1egkbep-ejzbzdlksndewbczcbm7fyo2z/query-cache.bin and /dev/null differ diff --git a/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h213ro4lpm-1egkbep-ejzbzdlksndewbczcbm7fyo2z/work-products.bin b/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h213ro4lpm-1egkbep-ejzbzdlksndewbczcbm7fyo2z/work-products.bin deleted file mode 100644 index bc744ae..0000000 Binary files a/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h213ro4lpm-1egkbep-ejzbzdlksndewbczcbm7fyo2z/work-products.bin and /dev/null differ diff --git a/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h24lc0zgfl-00x2391-74izfm0ik6jwgbw6bkq27qlf1/dep-graph.bin b/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h24lc0zgfl-00x2391-74izfm0ik6jwgbw6bkq27qlf1/dep-graph.bin new file mode 100644 index 0000000..78f48b9 Binary files /dev/null and b/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h24lc0zgfl-00x2391-74izfm0ik6jwgbw6bkq27qlf1/dep-graph.bin differ diff --git a/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h24lc0zgfl-00x2391-74izfm0ik6jwgbw6bkq27qlf1/query-cache.bin b/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h24lc0zgfl-00x2391-74izfm0ik6jwgbw6bkq27qlf1/query-cache.bin new file mode 100644 index 0000000..ae33261 Binary files /dev/null and b/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h24lc0zgfl-00x2391-74izfm0ik6jwgbw6bkq27qlf1/query-cache.bin differ diff --git a/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h24lc0zgfl-00x2391-74izfm0ik6jwgbw6bkq27qlf1/work-products.bin b/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h24lc0zgfl-00x2391-74izfm0ik6jwgbw6bkq27qlf1/work-products.bin new file mode 100644 index 0000000..fdba395 Binary files /dev/null and b/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h24lc0zgfl-00x2391-74izfm0ik6jwgbw6bkq27qlf1/work-products.bin differ diff --git a/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h213ro4lpm-1egkbep.lock b/assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h24lc0zgfl-00x2391.lock similarity index 100% rename from assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h213ro4lpm-1egkbep.lock rename to assignmentSix/target/debug/incremental/assignment_six-2n3wbfar9v70i/s-h24lc0zgfl-00x2391.lock