pub struct ClientId;
}
-type SKD = slotmap::KeyData;
-#[derive(Copy,Clone,PartialEq,Eq,Serialize,Deserialize,Debug)]
-pub struct PlayerId (SKD);
-impl slotmap::Key for PlayerId { }
-impl From<SKD> for PlayerId { fn from(d : SKD) -> Self { PlayerId(d) } }
-impl From<PlayerId> for SKD { fn from(p : PlayerId) -> Self { p.0 } }
+visible_slotmap_key!{PlayerId}
+display_consequential_impls!{PlayerId}
#[derive(Clone,Debug,Eq,PartialEq,Ord,PartialOrd,Hash)]
struct RawToken (String);
fn fmt(&self, f : &mut fmt::Formatter) { slotkey_write(self.0,'.',f)? }
}
- impl TryFrom<&str> for VisiblePieceId {
+ impl TryFrom<&str> for $x {
type Error = AE;
#[throws(AE)]
- fn try_from(s : &str) -> VisiblePieceId {
- VisiblePieceId(slotkey_parse(s,'.')?)
- }
+ fn try_from(s : &str) -> $x { $x(slotkey_parse(s,'.')?) }
}
impl slotmap::Key for $x { }