diff --git a/src/libcore/vec.rs b/src/libcore/vec.rs index f5ed574527d2d..a56f69f4ae9ff 100644 --- a/src/libcore/vec.rs +++ b/src/libcore/vec.rs @@ -1566,6 +1566,16 @@ pub fn each_permutation(v: &[T], put: &fn(ts: &[T]) -> bool) { } } +// see doc below +#[cfg(stage0)] // XXX: lifetimes! +pub fn windowed(n: uint, v: &[T], it: &fn(&[T]) -> bool) { + assert!(1u <= n); + if n > v.len() { return; } + for uint::range(0, v.len() - n + 1) |i| { + if !it(v.slice(i, i+n)) { return } + } +} + /** * Iterate over all contiguous windows of length `n` of the vector `v`. * @@ -1580,14 +1590,6 @@ pub fn each_permutation(v: &[T], put: &fn(ts: &[T]) -> bool) { * ~~~ * */ -#[cfg(stage0)] // XXX: lifetimes! -pub fn windowed(n: uint, v: &[T], it: &fn(&[T]) -> bool) { - assert!(1u <= n); - if n > v.len() { return; } - for uint::range(0, v.len() - n + 1) |i| { - if !it(v.slice(i, i+n)) { return } - } -} #[cfg(stage1)] #[cfg(stage2)] #[cfg(stage3)]