fn push(mut self, arg:&str) -> Args {
		let arg_zeroth_char = arg.chars().nth(0).unwrap_or('\0');
		if !self.force_positional && arg_zeroth_char == '-' {
			if arg == "--" {
				self.force_positional = true;
			} else if arg == "--copy-unsafe" || arg == "/copy-unsafe" {
				self.ignore_unsafe_to_copy = true;
			} else if arg == "-?" || arg == "--help" || arg == "/?" || arg == "/help" {
				self.help = true;
			} else if arg == "--version" {
				self.version = true;
			} else {
				panic!("Unknown flag");
			}
		} else {
			if self.program_name == Option::None {
				self.program_name = Option::Some(arg.to_string());
			} else if self.input_file == Option::None {
				self.input_file = Option::Some(arg.to_string());
			} else if self.output_file == Option::None {
				self.output_file = Option::Some(arg.to_string());
			} else {
				panic!("Too many positional arguments");
			}
		}
		self
	}
/// Decode arg, add the result to self, then return self.
/// Intended as the lambda in a Iter::fold invocation.
Decode arg, add the result to self, then return self.
Intended as the lambda in a Iter::fold invocation.
Decode arg add the result to self then return self . Intended as the lambda in a Iter :: fold invocation .
fn push(mut self, arg:&str) -> Args {
		let arg_zeroth_char = arg.chars().nth(0).unwrap_or('\0');
		if !self.force_positional && arg_zeroth_char == '-' {
			if arg == "--" {
				self.force_positional = true;
			} else if arg == "--copy-unsafe" || arg == "/copy-unsafe" {
				self.ignore_unsafe_to_copy = true;
			} else if arg == "-?" || arg == "--help" || arg == "/?" || arg == "/help" {
				self.help = true;
			} else if arg == "--version" {
				self.version = true;
			} else {
				panic!("Unknown flag");
			}
		} else {
			if self.program_name == Option::None {
				self.program_name = Option::Some(arg.to_string());
			} else if self.input_file == Option::None {
				self.input_file = Option::Some(arg.to_string());
			} else if self.output_file == Option::None {
				self.output_file = Option::Some(arg.to_string());
			} else {
				panic!("Too many positional arguments");
			}
		}
		self
	}
fn push ( mut self , arg : & str ) -> Args { let arg_zeroth_char = arg . chars ( ) . nth ( 0 ) . unwrap_or ( '\0' ) ; if ! self . force_positional && arg_zeroth_char == '-' { if arg == " " { self . force_positional = true ; } else if arg == " " || arg == " " { self . ignore_unsafe_to_copy = true ; } else if arg == " " || arg == " " || arg == " " || arg == " " { self . help = true ; } else if arg == " " { self . version = true ; } else { panic ! ( " " ) ; } } else { if self . program_name == Option :: None { self . program_name = Option :: Some ( arg . to_string ( ) ) ; } else if self . input_file == Option :: None { self . input_file = Option :: Some ( arg . to_string ( ) ) ; } else if self . output_file == Option :: None { self . output_file = Option :: Some ( arg . to_string ( ) ) ; } else { panic ! ( " " ) ; } } self }
Decode arg, add the result to self, then return self.
Decode arg add the result to self then return self .
mut self
arg
&str