#[non_exhaustive]pub struct Kakan {
pub pon: Pon,
pub added: Tile,
}Expand description
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.pon: PonThe original Pon.
added: TileThe extra tile from the player’s closed hand.
Implementations§
Source§impl Kakan
impl Kakan
pub const fn num(self) -> u8
pub const fn suit(self) -> u8
Sourcepub fn from_pon_added(pon: Pon, added: Tile) -> Option<Self>
pub fn from_pon_added(pon: Pon, added: Tile) -> Option<Self>
Constructs from an existing Pon and the (last) added tile.
Sourcepub fn from_pon_hand(pon: Pon, hand: &TileSet37) -> Option<Self>
pub fn from_pon_hand(pon: Pon, hand: &TileSet37) -> Option<Self>
Constructs from an existing Pon and the closed hand.
If the closed hand does not have the last remaining tile, returns None.
Sourcepub fn consume_from_hand(self, hand: &mut TileSet37)
pub fn consume_from_hand(self, hand: &mut TileSet37)
Removes the added tile from the hand (where this was constructed from).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Kakan
impl<'de> Deserialize<'de> for Kakan
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for Kakan
impl Eq for Kakan
impl StructuralPartialEq for Kakan
Auto Trait Implementations§
impl Freeze for Kakan
impl RefUnwindSafe for Kakan
impl Send for Kakan
impl Sync for Kakan
impl Unpin for Kakan
impl UnwindSafe for Kakan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more