Skip to content

Commit 64412ec

Browse files
committed
auto merge of #6055 : cmr/rust/incoming, r=graydon,brson
2 parents 0604468 + 91fb7b2 commit 64412ec

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/libcore/vec.rs

+11-8
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ pub fn from_slice<T:Copy>(t: &[T]) -> ~[T] {
173173
from_fn(t.len(), |i| t[i])
174174
}
175175

176+
/// Creates a new vector with a capacity of `capacity`
176177
pub fn with_capacity<T>(capacity: uint) -> ~[T] {
177178
let mut vec = ~[];
178179
reserve(&mut vec, capacity);
@@ -1565,6 +1566,16 @@ pub fn each_permutation<T:Copy>(v: &[T], put: &fn(ts: &[T]) -> bool) {
15651566
}
15661567
}
15671568
1569+
// see doc below
1570+
#[cfg(stage0)] // XXX: lifetimes!
1571+
pub fn windowed<T>(n: uint, v: &[T], it: &fn(&[T]) -> bool) {
1572+
assert!(1u <= n);
1573+
if n > v.len() { return; }
1574+
for uint::range(0, v.len() - n + 1) |i| {
1575+
if !it(v.slice(i, i+n)) { return }
1576+
}
1577+
}
1578+
15681579
/**
15691580
* Iterate over all contiguous windows of length `n` of the vector `v`.
15701581
*
@@ -1579,14 +1590,6 @@ pub fn each_permutation<T:Copy>(v: &[T], put: &fn(ts: &[T]) -> bool) {
15791590
* ~~~
15801591
*
15811592
*/
1582-
#[cfg(stage0)] // XXX: lifetimes!
1583-
pub fn windowed<T>(n: uint, v: &[T], it: &fn(&[T]) -> bool) {
1584-
assert!(1u <= n);
1585-
if n > v.len() { return; }
1586-
for uint::range(0, v.len() - n + 1) |i| {
1587-
if !it(v.slice(i, i+n)) { return }
1588-
}
1589-
}
15901593
#[cfg(stage1)]
15911594
#[cfg(stage2)]
15921595
#[cfg(stage3)]

0 commit comments

Comments
 (0)