diff --git a/src/libstd/getopts.rs b/src/libstd/getopts.rs index 2443f7664b4e..1e354d825ae6 100644 --- a/src/libstd/getopts.rs +++ b/src/libstd/getopts.rs @@ -149,10 +149,7 @@ fn name_str(nm: name) -> str { } fn find_opt(opts: [opt], nm: name) -> option::t { - let i = 0u; - let l = vec::len::(opts); - while i < l { if opts[i].name == nm { ret some::(i); } i += 1u; } - ret none::; + vec::position_pred(opts, { |opt| opt.name == nm }) } /*