Skip to content

Commit 88c318d

Browse files
committed
auto merge of #7023 : thestinger/rust/vec, r=brson
2 parents 1f0c05f + de36715 commit 88c318d

38 files changed

+100
-104
lines changed

doc/tutorial.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2046,7 +2046,7 @@ trait Seq<T> {
20462046
}
20472047
20482048
impl<T> Seq<T> for ~[T] {
2049-
fn len(&self) -> uint { vec::len(*self) }
2049+
fn len(&self) -> uint { self.len() }
20502050
fn iter(&self, b: &fn(v: &T)) {
20512051
for vec::each(*self) |elt| { b(elt); }
20522052
}

src/compiletest/compiletest.rc

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ pub fn parse_config(args: ~[~str]) -> config {
9797
mode: str_mode(getopts::opt_str(matches, "mode")),
9898
run_ignored: getopts::opt_present(matches, "ignored"),
9999
filter:
100-
if vec::len(matches.free) > 0u {
100+
if !matches.free.is_empty() {
101101
option::Some(copy matches.free[0])
102102
} else { option::None },
103103
logfile: getopts::opt_maybe_str(matches, "logfile").map(|s| Path(*s)),

src/compiletest/runtest.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ fn run_debuginfo_test(config: &config, props: &TestProps, testfile: &Path) {
297297
fn check_error_patterns(props: &TestProps,
298298
testfile: &Path,
299299
ProcRes: &ProcRes) {
300-
if vec::is_empty(props.error_patterns) {
300+
if props.error_patterns.is_empty() {
301301
fatal(~"no error pattern specified in " + testfile.to_str());
302302
}
303303

src/libextra/ebml.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ pub mod reader {
179179
}
180180

181181
pub fn Doc(data: @~[u8]) -> Doc {
182-
Doc { data: data, start: 0u, end: vec::len::<u8>(*data) }
182+
Doc { data: data, start: 0u, end: data.len() }
183183
}
184184

185185
pub fn doc_at(data: @~[u8], start: uint) -> TaggedDoc {

src/libextra/getopts.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ pub fn opt_strs(mm: &Matches, nm: &str) -> ~[~str] {
427427
/// Returns the string argument supplied to a matching option or none
428428
pub fn opt_maybe_str(mm: &Matches, nm: &str) -> Option<~str> {
429429
let vals = opt_vals(mm, nm);
430-
if vec::len::<Optval>(vals) == 0u { return None::<~str>; }
430+
if vals.is_empty() { return None::<~str>; }
431431
return match vals[0] {
432432
Val(ref s) => Some(copy *s),
433433
_ => None
@@ -444,7 +444,7 @@ pub fn opt_maybe_str(mm: &Matches, nm: &str) -> Option<~str> {
444444
*/
445445
pub fn opt_default(mm: &Matches, nm: &str, def: &str) -> Option<~str> {
446446
let vals = opt_vals(mm, nm);
447-
if vec::len::<Optval>(vals) == 0u { return None::<~str>; }
447+
if vals.is_empty() { return None::<~str>; }
448448
return match vals[0] { Val(ref s) => Some::<~str>(copy *s),
449449
_ => Some::<~str>(str::to_owned(def)) }
450450
}

src/libextra/sha1.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ pub fn sha1() -> @Sha1 {
195195
* can be assumed that the message digest has been computed.
196196
*/
197197
fn pad_msg(st: &mut Sha1State) {
198-
assert_eq!(vec::len((*st).msg_block), msg_block_len);
198+
assert_eq!((*st).msg_block.len(), msg_block_len);
199199

200200
/*
201201
* Check to see if the current message block is too small to hold
@@ -368,8 +368,8 @@ mod tests {
368368
];
369369
let tests = fips_180_1_tests + wikipedia_tests;
370370
fn check_vec_eq(v0: ~[u8], v1: ~[u8]) {
371-
assert_eq!(vec::len::<u8>(v0), vec::len::<u8>(v1));
372-
let len = vec::len::<u8>(v0);
371+
assert_eq!(v0.len(), v1.len());
372+
let len = v0.len();
373373
let mut i = 0u;
374374
while i < len {
375375
let a = v0[i];

src/libextra/sort.rs

+12-12
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ use core::prelude::*;
1515
use core::cmp::{Eq, Ord};
1616
use core::uint;
1717
use core::util::swap;
18-
use core::vec::len;
1918
use core::vec;
2019

2120
type Le<'self, T> = &'self fn(v1: &T, v2: &T) -> bool;
@@ -29,7 +28,7 @@ type Le<'self, T> = &'self fn(v1: &T, v2: &T) -> bool;
2928
pub fn merge_sort<T:Copy>(v: &[T], le: Le<T>) -> ~[T] {
3029
type Slice = (uint, uint);
3130

32-
return merge_sort_(v, (0u, len(v)), le);
31+
return merge_sort_(v, (0u, v.len()), le);
3332

3433
fn merge_sort_<T:Copy>(v: &[T], slice: Slice, le: Le<T>)
3534
-> ~[T] {
@@ -47,10 +46,10 @@ pub fn merge_sort<T:Copy>(v: &[T], le: Le<T>) -> ~[T] {
4746
}
4847

4948
fn merge<T:Copy>(le: Le<T>, a: &[T], b: &[T]) -> ~[T] {
50-
let mut rs = vec::with_capacity(len(a) + len(b));
51-
let a_len = len(a);
49+
let mut rs = vec::with_capacity(a.len() + b.len());
50+
let a_len = a.len();
5251
let mut a_ix = 0;
53-
let b_len = len(b);
52+
let b_len = b.len();
5453
let mut b_ix = 0;
5554
while a_ix < a_len && b_ix < b_len {
5655
if le(&a[a_ix], &b[b_ix]) {
@@ -100,8 +99,9 @@ fn qsort<T>(arr: &mut [T], left: uint,
10099
* This is an unstable sort.
101100
*/
102101
pub fn quick_sort<T>(arr: &mut [T], compare_func: Le<T>) {
103-
if len::<T>(arr) == 0u { return; }
104-
qsort::<T>(arr, 0u, len::<T>(arr) - 1u, compare_func);
102+
let len = arr.len();
103+
if len == 0u { return; }
104+
qsort::<T>(arr, 0u, len - 1u, compare_func);
105105
}
106106

107107
fn qsort3<T:Copy + Ord + Eq>(arr: &mut [T], left: int, right: int) {
@@ -138,7 +138,7 @@ fn qsort3<T:Copy + Ord + Eq>(arr: &mut [T], left: int, right: int) {
138138
vec::swap(arr, k as uint, j as uint);
139139
k += 1;
140140
j -= 1;
141-
if k == len::<T>(arr) as int { break; }
141+
if k == arr.len() as int { break; }
142142
}
143143
k = right - 1;
144144
while k > q {
@@ -754,7 +754,7 @@ mod test_qsort3 {
754754
use core::vec;
755755

756756
fn check_sort(v1: &mut [int], v2: &mut [int]) {
757-
let len = vec::len::<int>(v1);
757+
let len = v1.len();
758758
quick_sort3::<int>(v1);
759759
let mut i = 0;
760760
while i < len {
@@ -799,7 +799,7 @@ mod test_qsort {
799799
use core::vec;
800800

801801
fn check_sort(v1: &mut [int], v2: &mut [int]) {
802-
let len = vec::len::<int>(v1);
802+
let len = v1.len();
803803
fn leual(a: &int, b: &int) -> bool { *a <= *b }
804804
quick_sort::<int>(v1, leual);
805805
let mut i = 0u;
@@ -864,7 +864,7 @@ mod tests {
864864
use core::vec;
865865

866866
fn check_sort(v1: &[int], v2: &[int]) {
867-
let len = vec::len::<int>(v1);
867+
let len = v1.len();
868868
pub fn le(a: &int, b: &int) -> bool { *a <= *b }
869869
let f = le;
870870
let v3 = merge_sort::<int>(v1, f);
@@ -951,7 +951,7 @@ mod test_tim_sort {
951951
}
952952

953953
fn check_sort(v1: &mut [int], v2: &mut [int]) {
954-
let len = vec::len::<int>(v1);
954+
let len = v1.len();
955955
tim_sort::<int>(v1);
956956
let mut i = 0u;
957957
while i < len {

src/libextra/uv_ll.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -988,7 +988,7 @@ pub unsafe fn accept(server: *libc::c_void, client: *libc::c_void)
988988
pub unsafe fn write<T>(req: *uv_write_t, stream: *T,
989989
buf_in: *~[uv_buf_t], cb: *u8) -> libc::c_int {
990990
let buf_ptr = vec::raw::to_ptr(*buf_in);
991-
let buf_cnt = vec::len(*buf_in) as i32;
991+
let buf_cnt = (*buf_in).len() as i32;
992992
return rust_uv_write(req as *libc::c_void,
993993
stream as *libc::c_void,
994994
buf_ptr, buf_cnt, cb);

src/libfuzzer/fuzzer.rc

+2-2
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,7 @@ pub fn check_roundtrip_convergence(code: @~str, maxIters: uint) {
624624
}
625625

626626
pub fn check_convergence(files: &[Path]) {
627-
error!("pp convergence tests: %u files", vec::len(files));
627+
error!("pp convergence tests: %u files", files.len());
628628
for files.each |file| {
629629
if !file_might_not_converge(file) {
630630
let s = @result::get(&io::read_whole_file_str(file));
@@ -689,7 +689,7 @@ pub fn check_variants(files: &[Path], cx: Context) {
689689

690690
pub fn main() {
691691
let args = os::args();
692-
if vec::len(args) != 2u {
692+
if args.len() != 2u {
693693
error!("usage: %s <testdir>", args[0]);
694694
return;
695695
}

src/librustc/front/test.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,7 @@ fn is_test_fn(cx: @mut TestCtxt, i: @ast::item) -> bool {
203203
}
204204

205205
fn is_bench_fn(i: @ast::item) -> bool {
206-
let has_bench_attr =
207-
vec::len(attr::find_attrs_by_name(i.attrs, "bench")) > 0u;
206+
let has_bench_attr = !attr::find_attrs_by_name(i.attrs, "bench").is_empty();
208207

209208
fn has_test_signature(i: @ast::item) -> bool {
210209
match i.node {
@@ -242,7 +241,7 @@ fn is_ignored(cx: @mut TestCtxt, i: @ast::item) -> bool {
242241
}
243242

244243
fn should_fail(i: @ast::item) -> bool {
245-
vec::len(attr::find_attrs_by_name(i.attrs, "should_fail")) > 0u
244+
!attr::find_attrs_by_name(i.attrs, "should_fail").is_empty()
246245
}
247246

248247
fn add_test_module(cx: &TestCtxt, m: &ast::_mod) -> ast::_mod {

src/librustc/metadata/loader.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ fn get_metadata_section(os: os,
212212
let mut found = None;
213213
unsafe {
214214
let cvbuf: *u8 = cast::transmute(cbuf);
215-
let vlen = vec::len(encoder::metadata_encoding_version);
215+
let vlen = encoder::metadata_encoding_version.len();
216216
debug!("checking %u bytes of metadata-version stamp",
217217
vlen);
218218
let minsz = uint::min(vlen, csz);

src/librustc/middle/check_match.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -786,7 +786,7 @@ pub fn check_fn(cx: @MatchCheckCtxt,
786786
pub fn is_refutable(cx: @MatchCheckCtxt, pat: &pat) -> bool {
787787
match cx.tcx.def_map.find(&pat.id) {
788788
Some(&def_variant(enum_id, _)) => {
789-
if vec::len(*ty::enum_variants(cx.tcx, enum_id)) != 1u {
789+
if ty::enum_variants(cx.tcx, enum_id).len() != 1u {
790790
return true;
791791
}
792792
}

src/librustc/middle/freevars.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -119,5 +119,5 @@ pub fn get_freevars(tcx: ty::ctxt, fid: ast::node_id) -> freevar_info {
119119
}
120120

121121
pub fn has_freevars(tcx: ty::ctxt, fid: ast::node_id) -> bool {
122-
return vec::len(*get_freevars(tcx, fid)) != 0u;
122+
!get_freevars(tcx, fid).is_empty()
123123
}

src/librustc/middle/kind.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ fn is_nullary_variant(cx: Context, ex: @expr) -> bool {
348348
expr_path(_) => {
349349
match cx.tcx.def_map.get_copy(&ex.id) {
350350
def_variant(edid, vdid) => {
351-
vec::len(ty::enum_variant_with_id(cx.tcx, edid, vdid).args) == 0u
351+
ty::enum_variant_with_id(cx.tcx, edid, vdid).args.is_empty()
352352
}
353353
_ => false
354354
}

src/librustc/middle/trans/build.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,13 @@ pub fn count_insn(cx: block, category: &str) {
5353

5454
// Pass 1: scan table mapping str -> rightmost pos.
5555
let mut mm = HashMap::new();
56-
let len = vec::len(*v);
56+
let len = v.len();
5757
let mut i = 0u;
5858
while i < len {
5959
mm.insert(copy v[i], i);
6060
i += 1u;
6161
}
6262

63-
6463
// Pass 2: concat strings for each elt, skipping
6564
// forwards over any cycles by advancing to rightmost
6665
// occurrence of each element in path.

src/librustc/middle/ty.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2373,7 +2373,7 @@ pub fn is_instantiable(cx: ctxt, r_ty: t) -> bool {
23732373
ty_enum(did, ref substs) => {
23742374
seen.push(did);
23752375
let vs = enum_variants(cx, did);
2376-
let r = vec::len(*vs) > 0u && do vs.iter().all |variant| {
2376+
let r = !vs.is_empty() && do vs.iter().all |variant| {
23772377
do variant.args.iter().any |aty| {
23782378
let sty = subst(cx, substs, *aty);
23792379
type_requires(cx, seen, r_ty, sty)

src/librustc/middle/typeck/infer/resolve.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,9 @@ impl ResolveState {
113113
// n.b. This is a hokey mess because the current fold doesn't
114114
// allow us to pass back errors in any useful way.
115115

116-
assert!(vec::is_empty(self.v_seen));
116+
assert!(self.v_seen.is_empty());
117117
let rty = indent(|| self.resolve_type(typ) );
118-
assert!(vec::is_empty(self.v_seen));
118+
assert!(self.v_seen.is_empty());
119119
match self.err {
120120
None => {
121121
debug!("Resolved to %s + %s (modes=%x)",

src/librustc/rustc.rc

+1-1
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ pub fn run_compiler(args: &~[~str], demitter: diagnostic::Emitter) {
279279
version(*binary);
280280
return;
281281
}
282-
let input = match vec::len(matches.free) {
282+
let input = match matches.free.len() {
283283
0u => early_error(demitter, ~"no input filename given"),
284284
1u => {
285285
let ifile = /*bad*/copy matches.free[0];

src/librustdoc/astsrv.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ fn should_prune_unconfigured_items() {
141141
let source = ~"#[cfg(shut_up_and_leave_me_alone)]fn a() { }";
142142
do from_str(source) |srv| {
143143
do exec(srv) |ctxt| {
144-
assert!(vec::is_empty(ctxt.ast.node.module.items));
144+
assert!(ctxt.ast.node.module.items.is_empty());
145145
}
146146
}
147147
}

src/librustdoc/extract.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -295,8 +295,8 @@ mod test {
295295
#[test]
296296
fn extract_empty_crate() {
297297
let doc = mk_doc(~"");
298-
assert!(vec::is_empty(doc.cratemod().mods()));
299-
assert!(vec::is_empty(doc.cratemod().fns()));
298+
assert!(doc.cratemod().mods().is_empty());
299+
assert!(doc.cratemod().fns().is_empty());
300300
}
301301

302302
#[test]

src/librustdoc/markdown_pass.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ fn item_header_lvl(doc: &doc::ItemTag) -> Hlvl {
343343
}
344344

345345
fn write_index(ctxt: &Ctxt, index: &doc::Index) {
346-
if vec::is_empty(index.entries) {
346+
if index.entries.is_empty() {
347347
return;
348348
}
349349

@@ -437,7 +437,7 @@ fn write_variants(
437437
ctxt: &Ctxt,
438438
docs: &[doc::VariantDoc]
439439
) {
440-
if vec::is_empty(docs) {
440+
if docs.is_empty() {
441441
return;
442442
}
443443

src/librustdoc/page_pass.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,6 @@ mod test {
191191
#[test]
192192
fn should_remove_mods_from_containing_mods() {
193193
let doc = mk_doc(~"mod a { }");
194-
assert!(vec::is_empty(doc.cratemod().mods()));
194+
assert!(doc.cratemod().mods().is_empty());
195195
}
196196
}

src/librustdoc/prune_hidden_pass.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,6 @@ mod test {
8080
use core::vec;
8181

8282
let doc = mk_doc(~"#[doc(hidden)] mod a { }");
83-
assert!(vec::is_empty(doc.cratemod().mods()))
83+
assert!(doc.cratemod().mods().is_empty())
8484
}
8585
}

src/librustdoc/prune_private_pass.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ mod test {
175175
#[test]
176176
fn should_prune_items_without_pub_modifier() {
177177
let doc = mk_doc(~"mod a { }");
178-
assert!(vec::is_empty(doc.cratemod().mods()));
178+
assert!(doc.cratemod().mods().is_empty());
179179
}
180180

181181
#[test]

src/librustdoc/sectionalize_pass.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ mod test {
217217
Body\"]\
218218
mod a {
219219
}");
220-
assert!(vec::is_empty(doc.cratemod().mods()[0].item.sections));
220+
assert!(doc.cratemod().mods()[0].item.sections.is_empty());
221221
}
222222

223223
#[test]

src/libstd/result.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ use option::{None, Option, Some};
2020
use old_iter::BaseIter;
2121
use vec;
2222
use vec::OwnedVector;
23+
use container::Container;
2324

2425
/// The result type
2526
#[deriving(Clone, Eq)]
@@ -301,7 +302,7 @@ impl<T, E: Copy> Result<T, E> {
301302
pub fn map_vec<T,U:Copy,V:Copy>(
302303
ts: &[T], op: &fn(&T) -> Result<V,U>) -> Result<~[V],U> {
303304

304-
let mut vs: ~[V] = vec::with_capacity(vec::len(ts));
305+
let mut vs: ~[V] = vec::with_capacity(ts.len());
305306
for ts.each |t| {
306307
match op(t) {
307308
Ok(v) => vs.push(v),
@@ -339,7 +340,7 @@ pub fn map_vec2<S,T,U:Copy,V:Copy>(ss: &[S], ts: &[T],
339340
op: &fn(&S,&T) -> Result<V,U>) -> Result<~[V],U> {
340341

341342
assert!(vec::same_length(ss, ts));
342-
let n = vec::len(ts);
343+
let n = ts.len();
343344
let mut vs = vec::with_capacity(n);
344345
let mut i = 0u;
345346
while i < n {
@@ -362,7 +363,7 @@ pub fn iter_vec2<S,T,U:Copy>(ss: &[S], ts: &[T],
362363
op: &fn(&S,&T) -> Result<(),U>) -> Result<(),U> {
363364

364365
assert!(vec::same_length(ss, ts));
365-
let n = vec::len(ts);
366+
let n = ts.len();
366367
let mut i = 0u;
367368
while i < n {
368369
match op(&ss[i],&ts[i]) {

0 commit comments

Comments
 (0)