From da68020f0e109fc35823a2c2b09df7ab13f3e407 Mon Sep 17 00:00:00 2001 From: Geoffrey Allott Date: Mon, 5 Jun 2023 21:21:44 +0100 Subject: [PATCH] impl Debug for CardSet --- src/card.rs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) 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 { -- 2.34.1