chiark / gitweb /
move, compiles
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 9 Aug 2020 09:29:03 +0000 (10:29 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 9 Aug 2020 09:29:03 +0000 (10:29 +0100)
src/bin/otter.rs

index f2fad9e8bf729d9d891a580f547b61c7c70f4b8b..041f808123154471f6d4ae1d128f004876aadc6c 100644 (file)
@@ -118,9 +118,9 @@ fn parse_args<T,F>(apmaker: &F) -> T
 fn main() {
   use argparse::*;
 
-  let apmaker :
-      fn(&mut (MainOpts, String, Vec<String>)) -> ArgumentParser
        = | (mainopts, subcommand, subargs) | {
+  let (mut mainopts, subcommand, subargs) =
+    parse_args::< (MainOpts, String, Vec<String>), _ >(&
+ | (mainopts, subcommand, subargs) | {
   let mut ap = ArgumentParser::new();
     ap.stop_on_first_argument(true);
     ap.silence_double_dash(true);
@@ -142,8 +142,8 @@ fn main() {
                      StoreConst(None),
                      "use USER scope");
     ap
-  };
-  let (mut mainopts, subcommand, subargs) = parse_args(&apmaker);
+  }
+  );
 
   mainopts.scope.get_or_insert_with(||{
     let user = env::var("USER").unwrap_or_else(|e|{