ivec_fuzz: require shared types, because that's what vec::slide requires

This commit is contained in:
Jesse Ruderman 2011-09-10 12:02:24 -07:00
parent 5ef27245b1
commit fe4227df04

View File

@ -28,22 +28,22 @@ import std::int;
//fn vec_reverse(&<T> v) -> [T] { ... }
fn vec_omit<T>(v: &[T], i: uint) -> [T] {
fn vec_omit<@T>(v: &[T], i: uint) -> [T] {
slice(v, 0u, i) + slice(v, i + 1u, len(v))
}
fn vec_dup<T>(v: &[T], i: uint) -> [T] {
fn vec_dup<@T>(v: &[T], i: uint) -> [T] {
slice(v, 0u, i) + [v[i]] + slice(v, i, len(v))
}
fn vec_swadj<T>(v: &[T], i: uint) -> [T] {
fn vec_swadj<@T>(v: &[T], i: uint) -> [T] {
slice(v, 0u, i) + [v[i + 1u], v[i]] + slice(v, i + 2u, len(v))
}
fn vec_prefix<T>(v: &[T], i: uint) -> [T] { slice(v, 0u, i) }
fn vec_suffix<T>(v: &[T], i: uint) -> [T] { slice(v, i, len(v)) }
fn vec_prefix<@T>(v: &[T], i: uint) -> [T] { slice(v, 0u, i) }
fn vec_suffix<@T>(v: &[T], i: uint) -> [T] { slice(v, i, len(v)) }
fn vec_poke<T>(v: &[T], i: uint, x: &T) -> [T] {
fn vec_poke<@T>(v: &[T], i: uint, x: &T) -> [T] {
slice(v, 0u, i) + [x] + slice(v, i + 1u, len(v))
}
fn vec_insert<T>(v: &[T], i: uint, x: &T) -> [T] {
fn vec_insert<@T>(v: &[T], i: uint, x: &T) -> [T] {
slice(v, 0u, i) + [x] + slice(v, i, len(v))
}
@ -54,7 +54,7 @@ iter ix(skip_low: uint, skip_high: uint, length: uint) -> uint {
}
// Returns a bunch of modified versions of v, some of which introduce new elements (borrowed from xs).
fn vec_edits<T>(v: &[T], xs: &[T]) -> [[T]] {
fn vec_edits<@T>(v: &[T], xs: &[T]) -> [[T]] {
let edits: [[T]] = [];
let Lv: uint = len(v);