From: Geoffrey Allott Date: Mon, 5 Jun 2023 20:21:44 +0000 (+0100) Subject: impl Debug for CardSet X-Git-Url: https://git.pointlesshacks.com/?a=commitdiff_plain;h=da68020f0e109fc35823a2c2b09df7ab13f3e407;p=pokerwave.git impl Debug for CardSet --- diff --git a/src/card.rs b/src/card.rs index 1c6940f..7391a73 100644 --- a/src/card.rs +++ b/src/card.rs @@ -1,4 +1,6 @@ -use std::fmt::{self, Display, Formatter}; +use std::fmt::{self, Debug, Display, Formatter}; + +use itertools; use self::Rank::*; use self::Suit::*; @@ -125,18 +127,26 @@ impl Display for Card { } } -#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, Hash)] +#[derive(Copy, Clone, Default, PartialEq, Eq, Hash)] pub struct CardSet { repr: u64, } +impl Debug for CardSet { + fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result { + fmt.debug_struct("CardSet") + .field("repr", &format_args!("{:#015x} /*{}*/", self.repr, itertools::join(*self, ", "))) + .finish() + } +} + impl CardSet { pub fn new() -> CardSet { CardSet { repr: 0 } } pub fn fifty_two_card_deck() -> CardSet { - CardSet { repr: 0b1111111111111_1111111111111_1111111111111_1111111111111 } + CardSet { repr: 0xfffffffffffff } } pub fn is_empty(&self) -> bool {