use std::env; use std::process::exit; pub fn schematics_main(run: &dyn Fn(bool) -> Result<(), ()>) { let args: Box<[String]> = env::args().collect(); let dry_run = match args.len() { 1 => false, 2 => { if args[1] == "--dry-run" { true } else { panic!() } } _ => panic!(), }; exit(match run(dry_run) { Ok(_) => 0, Err(_) => 1, }); }