Skip to content

Commit 4b97b4e

Browse files
committed
Move the test suite to the "as" form for casts. XFAIL a few tests for LLVM.
1 parent ec5efd2 commit 4b97b4e

19 files changed

+79
-75
lines changed

Diff for: src/Makefile

+4
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,10 @@ TEST_XFAILS_LLVM := $(addprefix test/run-pass/, \
468468
task-comm-5.rs \
469469
threads.rs \
470470
type-sizes.rs \
471+
u8-incr.rs \
472+
u8-incr-decr.rs \
473+
u32-decr.rs \
474+
uint.rs \
471475
unit.rs \
472476
use-import-export.rs \
473477
user.rs \

Diff for: src/test/run-fail/str-overrun.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
fn main() {
66
let str s = "hello";
77
let int x = 0;
8-
check (s.(x) == u8(0x68));
8+
check (s.(x) == (0x68 as u8));
99

1010
// NB: at the moment a string always has a trailing NULL,
1111
// so the largest index value on the string above is 5, not
1212
// 4. Possibly change this.
1313

1414
// Bounds-check failure.
15-
check (s.(x + 6) == u8(0x0));
15+
check (s.(x + 6) == (0x0 as u8));
1616
}

Diff for: src/test/run-pass/cast.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33

44
fn main() {
5-
let int i = int('Q');
5+
let int i = 'Q' as int;
66
check (i == 0x51);
7-
let u32 u = u32(i);
8-
check (u == u32(0x51));
9-
check (u == u32('Q'));
10-
check (i8(i) == i8('Q'));
11-
check (i8(u8(i)) == i8(u8('Q')));
12-
check (char(0x51) == 'Q');
7+
let u32 u = i as u32;
8+
check (u == (0x51 as u32));
9+
check (u == ('Q' as u32));
10+
check ((i as u8) == ('Q' as u8));
11+
check (((i as u8) as i8) == (('Q' as u8) as i8));
12+
check ((0x51 as char) == 'Q');
1313

14-
check (true == bool(1));
15-
check (u32(0) == u32(false));
14+
check (true == (1 as bool));
15+
check ((0 as u32) == (false as u32));
1616
}

Diff for: src/test/run-pass/generic-obj-with-derived-type.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ obj handle[T](T data) {
66

77
fn main() {
88
type rgb = tup(u8,u8,u8);
9-
let handle[rgb] h = handle[rgb](tup(u8(1), u8(2), u8(3)));
9+
let handle[rgb] h = handle[rgb](tup(1 as u8, 2 as u8, 3 as u8));
1010
log "constructed object";
1111
log h.get()._0;
1212
log h.get()._1;
1313
log h.get()._2;
14-
check (h.get()._0 == u8(1));
15-
check (h.get()._1 == u8(2));
16-
check (h.get()._2 == u8(3));
14+
check (h.get()._0 == (1 as u8));
15+
check (h.get()._1 == (2 as u8));
16+
check (h.get()._2 == (3 as u8));
1717
}

Diff for: src/test/run-pass/linear-for-loop.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,23 @@ fn main() {
1212
let int i = 0;
1313
for (u8 c in s) {
1414
if (i == 0) {
15-
check (c == u8('h'));
15+
check (c == ('h' as u8));
1616
}
1717
if (i == 1) {
18-
check (c == u8('e'));
18+
check (c == ('e' as u8));
1919
}
2020
if (i == 2) {
21-
check (c == u8('l'));
21+
check (c == ('l' as u8));
2222
}
2323
if (i == 3) {
24-
check (c == u8('l'));
24+
check (c == ('l' as u8));
2525
}
2626
if (i == 4) {
27-
check (c == u8('o'));
27+
check (c == ('o' as u8));
2828
}
2929
// ...
3030
if (i == 12) {
31-
check (c == u8(0));
31+
check (c == (0 as u8));
3232
}
3333
i += 1;
3434
log i;

Diff for: src/test/run-pass/mutable-alias-vec.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ fn main() {
1313
grow(v);
1414
auto len = std._vec.len[int](v);
1515
log len;
16-
check (len == uint(3));
16+
check (len == (3 as uint));
1717
}

Diff for: src/test/run-pass/obj-with-vec.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ fn main() {
55
ret data.(i);
66
}
77
}
8-
auto b = buf(vec(u8(1), u8(2), u8(3)));
8+
auto b = buf(vec(1 as u8, 2 as u8, 3 as u8));
99
log b.get(1);
10-
check (b.get(1) == u8(2));
11-
}
10+
check (b.get(1) == (2 as u8));
11+
}

Diff for: src/test/run-pass/str-append.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ fn main() {
44
let str s = "hello";
55
s += "world";
66
log s;
7-
check(s.(9) == u8('d'));
7+
check(s.(9) == ('d' as u8));
88
}

Diff for: src/test/run-pass/str-concat.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ fn main() {
55
let str b = "world";
66
let str s = a + b;
77
log s;
8-
check(s.(9) == u8('d'));
8+
check(s.(9) == ('d' as u8));
99
}

Diff for: src/test/run-pass/str-idx.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ fn main() {
33
auto s = "hello";
44
let u8 c = s.(4);
55
log c;
6-
check (c == u8(0x6f));
6+
check (c == (0x6f as u8));
77
}

Diff for: src/test/run-pass/type-sizes.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ import size_of = std.sys.rustrt.size_of;
44
use std;
55

66
fn main() {
7-
check (size_of[u8]() == uint(1));
8-
check (size_of[u32]() == uint(4));
9-
check (size_of[char]() == uint(4));
10-
check (size_of[i8]() == uint(1));
11-
check (size_of[i32]() == uint(4));
12-
check (size_of[tup(u8,i8)]() == uint(2));
13-
check (size_of[tup(u8,i8,u8)]() == uint(3));
7+
check (size_of[u8]() == (1 as uint));
8+
check (size_of[u32]() == (4 as uint));
9+
check (size_of[char]() == (4 as uint));
10+
check (size_of[i8]() == (1 as uint));
11+
check (size_of[i32]() == (4 as uint));
12+
check (size_of[tup(u8,i8)]() == (2 as uint));
13+
check (size_of[tup(u8,i8,u8)]() == (3 as uint));
1414
// Alignment causes padding before the char and the u32.
15-
check (size_of[tup(u8,i8,tup(char,u8),u32)]() == uint(16));
15+
check (size_of[tup(u8,i8,tup(char,u8),u32)]() == (16 as uint));
1616
check (size_of[int]() == size_of[uint]());
1717
check (size_of[tup(int,())]() == size_of[int]());
1818
check (size_of[tup(int,(),())]() == size_of[int]());

Diff for: src/test/run-pass/u32-decr.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// -*- rust -*-
22

33
fn main() {
4-
let u32 word = u32(200000);
5-
word = word - u32(1);
6-
check(word == u32(199999));
4+
let u32 word = (200000 as u32);
5+
word = word - (1 as u32);
6+
check(word == (199999 as u32));
77
}
88

Diff for: src/test/run-pass/u8-incr-decr.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
// in the rest of the generated code so they're easily grep-able.
55

66
fn main() {
7-
let u8 x = u8(19); // 0x13
8-
let u8 y = u8(35); // 0x23
9-
x = x + u8(7); // 0x7
10-
y = y - u8(9); // 0x9
7+
let u8 x = 19 as u8; // 0x13
8+
let u8 y = 35 as u8; // 0x23
9+
x = x + (7 as u8); // 0x7
10+
y = y - (9 as u8); // 0x9
1111
check(x == y);
1212
}

Diff for: src/test/run-pass/u8-incr.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// -*- rust -*-
22

33
fn main() {
4-
let u8 x = u8(12);
5-
let u8 y = u8(12);
6-
x = x + u8(1);
7-
x = x - u8(1);
4+
let u8 x = 12 as u8;
5+
let u8 y = 12 as u8;
6+
x = x + (1 as u8);
7+
x = x - (1 as u8);
88
check(x == y);
9-
//x = u8(14);
10-
//x = x + u8(1);
9+
//x = 14 as u8;
10+
//x = x + 1 as u8;
1111
}
1212

Diff for: src/test/run-pass/uint.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33

44
fn main() {
5-
let uint x = uint(10);
5+
let uint x = 10 as uint;
66
}

Diff for: src/test/run-pass/user.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ use std (name = "std",
55
uuid = _, ver = _);
66

77
fn main() {
8-
auto s = std._str.alloc(uint(10));
8+
auto s = std._str.alloc(10 as uint);
99
s += "hello ";
1010
log s;
1111
s += "there";
1212
log s;
13-
auto z = std._vec.alloc[int](uint(10));
13+
auto z = std._vec.alloc[int](10 as uint);
1414
}

Diff for: src/test/run-pass/utf8.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ fn main() {
55
let char y_diaeresis = 'ÿ'; // 0xff
66
let char pi = 'Π'; // 0x3a0
77

8-
check (int(yen) == 0xa5);
9-
check (int(c_cedilla) == 0xe7);
10-
check (int(thorn) == 0xfe);
11-
check (int(y_diaeresis) == 0xff);
12-
check (int(pi) == 0x3a0);
8+
check ((yen as int) == 0xa5);
9+
check ((c_cedilla as int) == 0xe7);
10+
check ((thorn as int) == 0xfe);
11+
check ((y_diaeresis as int) == 0xff);
12+
check ((pi as int) == 0x3a0);
1313

14-
check (int(pi) == int('\u03a0'));
15-
check (int('\x0a') == int('\n'));
14+
check ((pi as int) == ('\u03a0' as int));
15+
check (('\x0a' as int) == ('\n' as int));
1616

1717
let str bhutan = "འབྲུག་ཡུལ།";
1818
let str japan = "日本";
@@ -27,7 +27,7 @@ fn main() {
2727
let str austria_e = "\u00d6sterreich";
2828

2929
let char oo = 'Ö';
30-
check (int(oo) == 0xd6);
30+
check ((oo as int) == 0xd6);
3131

3232
fn check_str_eq(str a, str b) {
3333
let int i = 0;
@@ -45,4 +45,4 @@ fn main() {
4545
check_str_eq(japan, japan_e);
4646
check_str_eq(uzbekistan, uzbekistan_e);
4747
check_str_eq(austria, austria_e);
48-
}
48+
}

Diff for: src/test/run-pass/vec-alloc-append.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use std;
44

55
fn slice[T](vec[T] e) {
6-
let vec[T] result = std._vec.alloc[T](uint(1));
6+
let vec[T] result = std._vec.alloc[T](1 as uint);
77
log "alloced";
88
result += e;
99
log "appended";

Diff for: src/test/run-pass/vec-lib.rs

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
use std;
22

33
fn test_init_elt() {
4-
let vec[uint] v = std._vec.init_elt[uint](uint(5), uint(3));
5-
check (std._vec.len[uint](v) == uint(3));
6-
check (v.(0) == uint(5));
7-
check (v.(1) == uint(5));
8-
check (v.(2) == uint(5));
4+
let vec[uint] v = std._vec.init_elt[uint](5 as uint, 3 as uint);
5+
check (std._vec.len[uint](v) == (3 as uint));
6+
check (v.(0) == (5 as uint));
7+
check (v.(1) == (5 as uint));
8+
check (v.(2) == (5 as uint));
99
}
1010

1111
fn id(uint x) -> uint {
1212
ret x;
1313
}
1414
fn test_init_fn() {
1515
let fn(uint)->uint op = id;
16-
let vec[uint] v = std._vec.init_fn[uint](op, uint(5));
17-
check (std._vec.len[uint](v) == uint(5));
18-
check (v.(0) == uint(0));
19-
check (v.(1) == uint(1));
20-
check (v.(2) == uint(2));
21-
check (v.(3) == uint(3));
22-
check (v.(4) == uint(4));
16+
let vec[uint] v = std._vec.init_fn[uint](op, (5 as uint));
17+
check (std._vec.len[uint](v) == (5 as uint));
18+
check (v.(0) == (0 as uint));
19+
check (v.(1) == (1 as uint));
20+
check (v.(2) == (2 as uint));
21+
check (v.(3) == (3 as uint));
22+
check (v.(4) == (4 as uint));
2323
}
2424

2525
fn test_slice() {
2626
let vec[int] v = vec(1,2,3,4,5);
2727
auto v2 = std._vec.slice[int](v, 2, 4);
28-
check (std._vec.len[int](v2) == uint(2));
28+
check (std._vec.len[int](v2) == (2 as uint));
2929
check (v2.(0) == 3);
3030
check (v2.(1) == 4);
3131
}

0 commit comments

Comments
 (0)