use crate::dynamic_data::models::learned_move::LearnedMove; use crate::dynamic_data::models::pokemon::Pokemon; #[derive(Debug)] pub enum TurnChoice<'a> { Move { user: &'a Pokemon<'a>, used_move: Box, }, } impl<'a> TurnChoice<'a> { pub fn user(&self) -> &'a Pokemon<'a> { match self { TurnChoice::Move { user, .. } => user, } } }