@@ -60,19 +60,19 @@ fn parse_args(mut args: Args) -> Result<Args> {
61 iter.next(); // skip the program, we don't care about that
61 iter.next(); // skip the program, we don't care about that
63− loop {
63+ while let Some(arg) = iter.next() {
64− match iter.next() {
64+ match arg.as_str() {
65− Some(arg) if arg == "--" => break, // stop parsing at this point treat the remaining as files
65+ "--" => break, // stop parsing at this point treat the remaining as files
66− Some(arg) if arg == "--version" => args.display_version = true,
66+ "--version" => args.display_version = true,
67− Some(arg) if arg == "--help" => args.display_help = true,
67+ "--help" => args.display_help = true,
68− Some(arg) if arg.starts_with("--") => {
68+ arg if arg.starts_with("--") => {
69 return Err(Error::msg(format!(
69 return Err(Error::msg(format!(
70 "unexpected double dash argument: {}",
70 "unexpected double dash argument: {}",
74− Some(arg) if arg.starts_with('-') => {
74+ arg if arg.starts_with('-') => {
75− let arg = arg.as_str().get(1..).unwrap().chars();
75+ let arg = arg.get(1..).unwrap().chars();
76 for chr in arg {
76 for chr in arg {
77 match chr {
77 match chr {
78 'v' => args.verbosity += 1,
78 'v' => args.verbosity += 1,
@@ -82,8 +82,7 @@ fn parse_args(mut args: Args) -> Result<Args> {
85− Some(arg) => args.files.push(PathBuf::from(arg)),
85+ arg => args.files.push(PathBuf::from(arg)),
86− None => break, // No more arguments to reduce