From 7863e0324f9bd03f778df298c0fbc01bb532007e Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Wed, 12 Mar 2025 00:26:19 -0400 Subject: [PATCH] elo: fix types --- src/elo.rs | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/elo.rs b/src/elo.rs index 3bde12d..b579748 100644 --- a/src/elo.rs +++ b/src/elo.rs @@ -14,6 +14,8 @@ use skillratings::{ }; use std::num::NonZero; +type AgentMaker = Box Box>; + #[allow(dead_code)] pub fn run() { const FMV_BASE: FutureMoveConfig = FutureMoveConfig { @@ -93,16 +95,14 @@ pub fn run() { .collect() }); - let vec: Vec<(String, Box Box>)> = configs + let vec: Vec<(String, AgentMaker)> = configs .into_iter() - .map( - move |config| -> (String, Box Box>) { - ( - format!("{}", config), - Box::new(move |piece| Box::new(ComplexAgent::new(piece, config))), - ) - }, - ) + .map(move |config| -> (String, AgentMaker) { + ( + format!("{}", config), + Box::new(move |piece| Box::new(ComplexAgent::new(piece, config))), + ) + }) .collect(); let mut arena = PlayerArena::new(vec); @@ -114,7 +114,7 @@ pub fn run() { pub struct PlayerArena { /// Name, Creator Function, Elo - players: Vec<(String, Box Box>, EloRating)>, + players: Vec<(String, AgentMaker, EloRating)>, } impl std::fmt::Display for PlayerArena { @@ -136,7 +136,7 @@ impl std::fmt::Display for PlayerArena { } impl PlayerArena { - pub fn new(players: Vec<(String, Box Box>)>) -> Self { + pub fn new(players: Vec<(String, AgentMaker)>) -> Self { Self { players: players .into_iter() @@ -259,8 +259,8 @@ impl PlayerArena { } fn create_agents( - player_1_fn: &dyn Fn(Piece) -> Box, - player_2_fn: &dyn Fn(Piece) -> Box, + player_1_fn: &AgentMaker, + player_2_fn: &AgentMaker, ) -> (Box, Box) { (player_1_fn(Piece::Black), player_2_fn(Piece::White)) }