two_player/
state.rs

1use crate::player::Player;
2
3pub trait State: Sized {
4    fn turn(&self) -> Player;
5    fn winner(&self) -> Option<Player>;
6    fn valid_moves(&self) -> impl Iterator<Item = Self>;
7}