fix: remove unnecessary try_from conversions from Card to u32
authorMA Beaudet <ma@beaudet.xyz>
Sun, 7 Nov 2021 19:46:30 +0000 (20:46 +0100)
committerMA Beaudet <ma@beaudet.xyz>
Sun, 7 Nov 2021 19:46:30 +0000 (20:46 +0100)
src/lib.rs

index c5e5543..6a72610 100644 (file)
@@ -218,10 +218,7 @@ impl Cards {
             for (j, prime) in PRIMES.iter().enumerate() {
                 let prime = *prime as u32;
                 deck.push(
-                    Card::try_from(
-                        prime | (u32::try_from(j).unwrap() << 8) | suit | (1 << (16 + j)),
-                    )
-                    .unwrap(),
+                    Card::try_from(prime | ((j as u32) << 8) | suit | (1 << (16 + j))).unwrap(),
                 );
             }
             suit >>= 1;
@@ -403,7 +400,7 @@ impl FromStr for Card {
                     (None, Some(_)) => Err(MyError::InvalidRank),
                     (Some(_), None) => Err(MyError::InvalidSuit),
                     (Some(r), Some(s)) => Ok(Self(
-                        PRIMES[r] as u32 | (u32::try_from(r).unwrap() << 8) | s | (1 << (16 + r)),
+                        PRIMES[r as usize] as u32 | (r << 8) | s | (1 << (16 + r)),
                     )),
                 }
             }