Merge pull request #4032 from catamorphism/getopts

[libstd] getopts, now with fewer copies
This commit is contained in:
Graydon Hoare 2012-11-28 08:47:25 -08:00
commit 082a88e42c
10 changed files with 68 additions and 53 deletions

View file

@ -53,7 +53,7 @@ fn parse_opts(argv: ~[~str]) -> config {
let opt_args = vec::slice(argv, 1u, vec::len(argv));
match getopts::getopts(opt_args, opts) {
Ok(m) => { return {stress: getopts::opt_present(m, ~"stress")} }
Ok(ref m) => { return {stress: getopts::opt_present(m, ~"stress")} }
Err(_) => { fail; }
}
}

View file

@ -0,0 +1,15 @@
extern mod std;
use std::getopts::*;
fn main() {
let args = ~[];
let opts = ~[optopt(~"b")];
match getopts(args, opts) {
result::Ok(ref m) =>
assert !opt_present(m, "b"),
result::Err(f) => fail fail_str(f)
};
}