projects
/
poker-eval.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ed932da
)
fix(card): add error handling of TryFrom<u32> for Card
author
MA Beaudet
<ma@beaudet.xyz>
Mon, 8 Nov 2021 14:16:47 +0000
(15:16 +0100)
committer
MA Beaudet
<ma@beaudet.xyz>
Mon, 8 Nov 2021 14:16:47 +0000
(15:16 +0100)
src/card.rs
patch
|
blob
|
blame
|
history
diff --git
a/src/card.rs
b/src/card.rs
index
98423ec
..
709218a
100644
(file)
--- a/
src/card.rs
+++ b/
src/card.rs
@@
-155,6
+155,15
@@
impl TryFrom<u32> for Card {
type Error = MyError;
fn try_from(value: u32) -> Result<Self, Self::Error> {
+ let _ = match (value >> 8) & 0xF {
+ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 => Ok(()),
+ _ => Err(MyError::InvalidRank),
+ };
+
+ let _ = match (value >> 12) & 0xF {
+ 0b1000 | 0b0100 | 0b0010 | 0b0001 => Ok(()),
+ _ => Err(MyError::InvalidSuit),
+ };
Ok(Self(value))
}
}