From ce2516545018bf146ec1c898531eed942bb42da7 Mon Sep 17 00:00:00 2001 From: Mika Attila Date: Fri, 28 Aug 2015 13:07:08 +0200 Subject: [PATCH] Don't pass --write-mode argument to rustc Fixes regression introduced by 660f41865b43f38d68b649328c04b1702e37655e --- src/bin/rustfmt.rs | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/bin/rustfmt.rs b/src/bin/rustfmt.rs index e57ba18614d..c527ae1504a 100644 --- a/src/bin/rustfmt.rs +++ b/src/bin/rustfmt.rs @@ -93,38 +93,36 @@ fn determine_params(args: I) -> Option<(Vec, WriteMode)> let help_mode = "-h"; let long_help_mode = "--help"; let mut write_mode = WriteMode::Replace; - let args: Vec = args.collect(); + let mut rustc_args = Vec::new(); // The NewFile option currently isn't supported because it requires another // parameter, but it can be added later. - if args.iter().any(|arg| { + for arg in args { if arg.starts_with(write_mode_prefix) { - write_mode = match FromStr::from_str(&arg[write_mode_prefix.len()..]) { - Ok(mode) => mode, + match FromStr::from_str(&arg[write_mode_prefix.len()..]) { + Ok(mode) => write_mode = mode, Err(_) => { print_usage("Unrecognized write mode"); - return true; + return None; } - }; - false + } } else if arg.starts_with(help_mode) || arg.starts_with(long_help_mode) { print_usage(""); - true + return None; } else if arg.starts_with(arg_prefix) { print_usage("Invalid argument"); - true + return None; } else { - false + // Pass everything else to rustc + rustc_args.push(arg); } - }) { - return None; } - if args.len() < 2 { + if rustc_args.len() < 2 { print_usage("Please provide a file to be formatted"); return None; } - Some((args, write_mode)) + Some((rustc_args, write_mode)) }