chiark / gitweb /
otter(1): Introduce a type alias
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 19 May 2021 21:57:30 +0000 (22:57 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 19 May 2021 21:57:30 +0000 (22:57 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/bin/otter.rs

index b95de12499aba6243daa3fadd083b97ef1fd98eb..f2c3aec20a10445fbe6298b1f86945d4aa16c721 100644 (file)
@@ -108,9 +108,12 @@ impl From<&anyhow::Error> for ArgumentParseError {
   }
 }
 
+pub type ApMaker<'apm, T> =
+  &'apm dyn for <'a> Fn(&'a mut T) -> ArgumentParser<'a>;
+
 fn parse_args<T:Default,U>(
   args: Vec<String>,
-  apmaker: &dyn for <'a> Fn(&'a mut T) -> ArgumentParser<'a>,
+  apmaker: ApMaker<T>,
   completer: &dyn Fn(T) -> Result<U, ArgumentParseError>,
   extra_help: Option<&dyn Fn(&mut dyn Write) -> Result<(), io::Error>>,
 ) -> U {
@@ -1440,8 +1443,7 @@ mod alter_game_adhoc {
           -> Result<(),AE> {
     let ahf = sc.into();
 
-    let subargs: &dyn for<'a> Fn(&'a mut Args) -> ArgumentParser<'a>
-      = &|sa| subargs(sa,ahf);
+    let subargs: ApMaker<_> = &|sa| subargs(sa,ahf);
     let args = parse_args::<Args,_>(args, subargs, &ok_id, None);
     let mut chan = access_game(&ma, &args.table_name)?;