]> git.lizzy.rs Git - rust.git/blob - src/fuzzer/ast_match.rs
Get these files compiling again
[rust.git] / src / fuzzer / ast_match.rs
1 use std;
2 import vec;
3
4 fn vec_equal<T>(v: [T], u: [T], element_equality_test: fn@(&&T, &&T) -> bool) ->
5    bool {
6     let Lv = vec::len(v);
7     if Lv != vec::len(u) { ret false; }
8     let i = 0u;
9     while i < Lv {
10         if !element_equality_test(v[i], u[i]) { ret false; }
11         i += 1u;
12     }
13     ret true;
14 }
15
16 pure fn builtin_equal<T>(&&a: T, &&b: T) -> bool { ret a == b; }
17 pure fn builtin_equal_int(&&a: int, &&b: int) -> bool { ret a == b; }
18
19 fn main() {
20     assert (builtin_equal(5, 5));
21     assert (!builtin_equal(5, 4));
22     assert (!vec_equal([5, 5], [5], bind builtin_equal(_, _)));
23     assert (!vec_equal([5, 5], [5], builtin_equal_int));
24     assert (!vec_equal([5, 5], [5, 4], builtin_equal_int));
25     assert (!vec_equal([5, 5], [4, 5], builtin_equal_int));
26     assert (vec_equal([5, 5], [5, 5], builtin_equal_int));
27
28     #error("Pass");
29 }