fn from(user: User) -> u8 { user.0 as u8 }
}
+impl std::ops::Not for User {
+ type Output = User;
+ fn not(self) -> User { User(! self.0) }
+}
+
// ==================== state ====================
#[derive(Debug,Clone,Serialize,Deserialize)]
if let Some(_gpl) = gs.players.get(state.users[user].player) {
throw!(OE::BadPieceStateForOperation);
}
+ if state.users[! user].player == player {
+ // todo: some more useful per-player message
+ throw!(OE::BadPieceStateForOperation);
+ }
state.users[user].player = player;
},
"unclaim-x" | "unclaim-y" => {