]> git.lizzy.rs Git - rust.git/commitdiff
Port the fuzzer and tests to ivec type [T] syntax.
authorErick Tryzelaar <erick.tryzelaar@gmail.com>
Thu, 4 Aug 2011 23:20:53 +0000 (16:20 -0700)
committerBrian Anderson <banderson@mozilla.com>
Tue, 9 Aug 2011 22:53:26 +0000 (15:53 -0700)
src/fuzzer/ast_match.rs
src/fuzzer/fuzzer.rs
src/fuzzer/ivec_fuzz.rs
src/test/pretty/ivec-type.pp
src/test/pretty/ivec-type.rs
src/test/run-pass/alloca-from-derived-tydesc.rs
src/test/run-pass/ivec-tag.rs
src/test/stdtest/either.rs

index fd9a5535707be9ae8070b6cd30968ec123518892..0aede0667b8511d8f09b1ed46d78d1c3caee4ac5 100644 (file)
@@ -1,7 +1,7 @@
 use std;
 import std::ivec;
 
-fn ivec_equal[T](v: &T[], u: &T[], element_equality_test: fn(&T, &T) -> bool )
+fn ivec_equal[T](v: &[T], u: &[T], element_equality_test: fn(&T, &T) -> bool )
    -> bool {
     let Lv = ivec::len(v);
     if Lv != ivec::len(u) { ret false; }
@@ -24,4 +24,4 @@ fn main() {
     assert (ivec_equal(~[5, 5], ~[5, 5], builtin_equal));
 
     log_err "Pass";
-}
\ No newline at end of file
+}
index 312f0e77787af91d6852643e91aaa9eab7ce43a0..1f7c2c45eccc8bb82bea31d03280a7dd3a3dfd59 100644 (file)
@@ -38,7 +38,7 @@ fn contains(haystack: &str, needle: &str) -> bool {
     str::find(haystack, needle) != -1
 }
 
-fn find_rust_files(files: &mutable str[], path: str) {
+fn find_rust_files(files: &mutable [str], path: str) {
     if str::ends_with(path, ".rs") {
         if file_contains(path, "xfail-stage1") {
             //log_err "Skipping " + path + " because it is marked as xfail-stage1";
@@ -89,10 +89,10 @@ fn safe_to_steal(e: ast::expr_) -> bool {
     }
 }
 
-fn steal_exprs(crate: &ast::crate) -> ast::expr[] {
-    let exprs: @mutable ast::expr[] = @mutable ~[];
+fn steal_exprs(crate: &ast::crate) -> [ast::expr] {
+    let exprs: @mutable [ast::expr] = @mutable ~[];
     // "Stash" is not type-parameterized because of the need for safe_to_steal
-    fn stash_expr(es: @mutable ast::expr[], e: &@ast::expr) {
+    fn stash_expr(es: @mutable [ast::expr], e: &@ast::expr) {
         if safe_to_steal(e.node) {
             *es += ~[*e];
         } else {/* now my indices are wrong :( */ }
@@ -316,7 +316,7 @@ fn check_roundtrip_convergence(code: &str, maxIters: uint) {
     }
 }
 
-fn check_convergence(files: &str[]) {
+fn check_convergence(files: &[str]) {
     log_err #fmt("pp convergence tests: %u files", ivec::len(files));
     for file in files {
         if !file_is_confusing(file) {
@@ -330,7 +330,7 @@ fn check_convergence(files: &str[]) {
     }
 }
 
-fn check_variants(files: &str[]) {
+fn check_variants(files: &[str]) {
     for file in files {
         if !file_is_confusing(file) {
             let s = ioivec::read_whole_file_str(file);
index 3f959f649b125a28336c2d51f5c4e445c2b1bb30..8448ef1dadfba3a2f6454a308ed91c046feabb1a 100644 (file)
@@ -7,8 +7,8 @@
   two functions, "return the number of possible edits" and "return edit #n"
 
 It would be nice if this could be data-driven, so the two functions could share information:
-  type vec_modifier = rec(fn (&T[] v, uint i) -> T[] fun, uint lo, uint di);
-  const vec_modifier[] vec_modifiers = ~[rec(fun=vec_omit, 0u, 1u), ...];
+  type vec_modifier = rec(fn (&[T] v, uint i) -> [T] fun, uint lo, uint di);
+  const [vec_modifier] vec_modifiers = ~[rec(fun=vec_omit, 0u, 1u), ...];
 But that gives me "error: internal compiler error unimplemented consts that's not a plain literal".
 https://github.com/graydon/rust/issues/570
 
 import std::ivec::len;
 import std::int;
 
-//fn vec_reverse(&T[] v) -> T[] { ... }
+//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,8 +54,8 @@ fn vec_insert[T](v: &T[], i: uint, x: &T) -> T[] {
 }
 
 // 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[][] {
-    let edits: T[][] = ~[];
+fn vec_edits[T](v: &[T], xs: &[T]) -> [[T]] {
+    let edits: [[T]] = ~[];
     let Lv: uint = len(v);
 
     if Lv != 1u {
@@ -85,7 +85,7 @@ fn vec_edits[T](v: &T[], xs: &T[]) -> T[][] {
 }
 
 // Would be nice if this were built in: https://github.com/graydon/rust/issues/424
-fn vec_to_str(v: &int[]) -> str {
+fn vec_to_str(v: &[int]) -> str {
     let i = 0u;
     let s = "[";
     while i < len(v) {
@@ -96,7 +96,7 @@ fn vec_to_str(v: &int[]) -> str {
     ret s + "]";
 }
 
-fn show_edits(a: &int[], xs: &int[]) {
+fn show_edits(a: &[int], xs: &[int]) {
     log_err "=== Edits of " + vec_to_str(a) + " ===";
     let b = vec_edits(a, xs);
     for each i: uint  in ix(0u, 1u, len(b)) { log_err vec_to_str(b.(i)); }
@@ -111,4 +111,4 @@ fn demo_edits() {
     show_edits(~[1, 2, 3, 4], xs);
 }
 
-fn main() { demo_edits(); }
\ No newline at end of file
+fn main() { demo_edits(); }
index 92862ac3d8901d008975c802259ba58c3e675486..717b50be9e3d43ecd5001d69571256eeb0a194bc 100644 (file)
@@ -3,7 +3,3 @@
 fn f1(x: [int]) { }
 
 fn g1() { f1(~[1, 2, 3]); }
-
-fn f2(x: [int]) { }
-
-fn g2() { f2(~[1, 2, 3]); }
index a825519a8124bb6b9c6169d565a3c8fe6346930e..717b50be9e3d43ecd5001d69571256eeb0a194bc 100644 (file)
@@ -1,9 +1,5 @@
 // pp-exact:ivec-type.pp
 
-fn f1(x: int[]) { }
+fn f1(x: [int]) { }
 
 fn g1() { f1(~[1, 2, 3]); }
-
-fn f2(x: [int]) { }
-
-fn g2() { f2(~[1, 2, 3]); }
index 24f3b755f2f3b9583cea83a3ab8a59c1c9265b42..f2b81d41b0b156e3996beed5562b49c12371eea9 100644 (file)
@@ -1,6 +1,6 @@
 tag option[T] { some(T); none; }
 
-type r[T] = {mutable v: (option[T])[]};
+type r[T] = {mutable v: [option[T]]};
 
 fn f[T]() -> [T] { ret ~[]; }
 
index 4d59964f6c6daed9b49fed1bbdac5df62b502c8e..24c27b5212ce377d80812fbf1cbe5b2a02bef738 100644 (file)
@@ -1,14 +1,14 @@
 use std;
 
-fn producer(c: chan[u8[]]) {
+fn producer(c: chan[[u8]]) {
     c <| ~[1u8, 2u8, 3u8, 4u8, 5u8, 6u8, 7u8,
            8u8, 9u8, 10u8, 11u8, 12u8, 13u8 ];
 }
 
 fn main() {
-    let p: port[u8[]] = port();
+    let p: port[[u8]] = port();
     let prod: task = spawn producer(chan(p));
 
-    let data: u8[];
+    let data: [u8];
     p |> data;
 }
index 97ed9ef1000dee03e881ba3a53746252599f9f07..677abeda4125b8324c971d2c52e20a5dab3f0268 100644 (file)
@@ -27,14 +27,14 @@ fn test_lefts() {
 
 #[test]
 fn test_lefts_none() {
-    let input: (t[int, int])[] = ~[right(10), right(10)];
+    let input: [t[int, int]] = ~[right(10), right(10)];
     let result = lefts(input);
     assert (len(result) == 0u);
 }
 
 #[test]
 fn test_lefts_empty() {
-    let input: (t[int, int])[] = ~[];
+    let input: [t[int, int]] = ~[];
     let result = lefts(input);
     assert (len(result) == 0u);
 }
@@ -48,14 +48,14 @@ fn test_rights() {
 
 #[test]
 fn test_rights_none() {
-    let input: (t[int, int])[] = ~[left(10), left(10)];
+    let input: [t[int, int]] = ~[left(10), left(10)];
     let result = rights(input);
     assert (len(result) == 0u);
 }
 
 #[test]
 fn test_rights_empty() {
-    let input: (t[int, int])[] = ~[];
+    let input: [t[int, int]] = ~[];
     let result = rights(input);
     assert (len(result) == 0u);
 }
@@ -73,7 +73,7 @@ fn test_partition() {
 
 #[test]
 fn test_partition_no_lefts() {
-    let input: (t[int, int])[] = ~[right(10), right(11)];
+    let input: [t[int, int]] = ~[right(10), right(11)];
     let result = partition(input);
     assert (len(result.lefts) == 0u);
     assert (len(result.rights) == 2u);
@@ -81,7 +81,7 @@ fn test_partition_no_lefts() {
 
 #[test]
 fn test_partition_no_rights() {
-    let input: (t[int, int])[] = ~[left(10), left(11)];
+    let input: [t[int, int]] = ~[left(10), left(11)];
     let result = partition(input);
     assert (len(result.lefts) == 2u);
     assert (len(result.rights) == 0u);
@@ -89,8 +89,8 @@ fn test_partition_no_rights() {
 
 #[test]
 fn test_partition_empty() {
-    let input: (t[int, int])[] = ~[];
+    let input: [t[int, int]] = ~[];
     let result = partition(input);
     assert (len(result.lefts) == 0u);
     assert (len(result.rights) == 0u);
-}
\ No newline at end of file
+}