Finish the player implementation for Assignment Six.

This commit is contained in:
Charles Descamps 2024-11-21 21:02:38 -07:00
parent 72c3d634b3
commit 6cb5c48af1
8 changed files with 34 additions and 35 deletions

View file

@ -262,16 +262,10 @@ impl Player
}; };
return hand; return hand;
} }
fn add_cards(mut self, mut card_vec: Vec<Card>) fn add_cards(&mut self, mut card_vec: Vec<Card>)
{ {
// loop until the card_vec is empty, add each card to the player hand. // append the card vector to the player's hand.
loop self.player_hand.append(&mut card_vec);
{
if card_vec.is_empty() != true
{
self.player_hand.push(card_vec.pop().unwrap());
}
}
} }
fn has_rank(mut self, in_card_rank: Rank) -> Vec<Card> fn has_rank(mut self, in_card_rank: Rank) -> Vec<Card>
{ {
@ -327,28 +321,6 @@ impl Player
} }
if count >= 4 if count >= 4
{ {
// let mut remove_counter = 0;
// //
// println!("Pre Loop: {}", self.player_hand.get(0).unwrap());
// println!("Pre Loop: {}", self.player_hand.get(1).unwrap());
// println!("Pre Loop: {}", self.player_hand.get(2).unwrap());
// println!("Pre Loop: {}", self.player_hand.get(3).unwrap());
// loop
// {
// if remove_counter > self.player_hand.len() - 1
// {
// //
// break;
// }
// println!("Loop: {}", self.player_hand.get(remove_counter).unwrap());
// if self.player_hand.get(remove_counter).unwrap().card_rank == number_to_rank(rank_check)
// {
// //
// self.player_hand.remove(remove_counter);
// }
// remove_counter = remove_counter + 1;
// // println!("After: {}", self.player_hand.get(remove_counter).unwrap());
// }
self.player_hand.retain(|card| card.card_rank != number_to_rank(rank_check)); self.player_hand.retain(|card| card.card_rank != number_to_rank(rank_check));
return true; return true;
} }
@ -391,18 +363,45 @@ fn main()
println!("----------------------------"); println!("----------------------------");
// TEMP START // TEMP START
println!("Working game"); println!("Working game");
// let mut card_vec = vec![];
// card_vec.push(Card{card_rank: Rank::FIVE, card_suit: Suit::HEARTS});
// card_vec.push(Card{card_rank: Rank::THREE, card_suit: Suit::CLUBS});
// card_vec.push(Card{card_rank: Rank::FIVE, card_suit: Suit::DIAMONDS});
// card_vec.push(Card{card_rank: Rank::NINE, card_suit: Suit::HEARTS});
// card_vec.push(Card{card_rank: Rank::FIVE, card_suit: Suit::SPADES});
// card_vec.push(Card{card_rank: Rank::NINE, card_suit: Suit::CLUBS});
// card_vec.push(Card{card_rank: Rank::ACE, card_suit: Suit::HEARTS});
// 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(); 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::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::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::FIVE, card_suit: Suit::DIAMONDS});
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::HEARTS});
current_player.player_hand.push(Card{card_rank: Rank::FIVE, card_suit: Suit::SPADES}); 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::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 &current_player.player_hand
{
//
println!("After deal: {}", card);
}
current_player.check_set(); current_player.check_set();
for card in &current_player.player_hand for card in &current_player.player_hand
{ {
// //
println!("{}", card); println!("After set check: {}", card);
}
current_player.check_set();
for card in &current_player.player_hand
{
//
println!("After 2nd set check: {}", card);
} }
// println!("{}{}", Rank::TWO, Suit::DIAMONDS); // println!("{}{}", Rank::TWO, Suit::DIAMONDS);
// let tempCard = Card // let tempCard = Card

View file

@ -7,6 +7,6 @@
{"$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":"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":"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":"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<Card>)","highlight_start":8,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/main.rs","byte_start":6727,"byte_end":6735,"line_start":276,"line_end":276,"column_start":8,"column_end":16,"is_primary":true,"text":[{"text":" fn has_rank(mut self, in_card_rank: Rank) -> Vec<Card>","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<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;12m276\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<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\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<Card>)","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<Card>","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<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;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<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\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":10788,"byte_end":10792,"line_start":378,"line_end":378,"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:378: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;12m378\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":"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":"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"}