Skip to content

Commit 014626a

Browse files
committed
Make sure we can handle arrays of units.
1 parent b7c5894 commit 014626a

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

test/test.fut

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
entry main (x: u32) = x |> i64.u32 |> iota |> i64.sum
22

3-
entry array_i32 (x: []i32) = map (+2) x ++ x
3+
entry array_i32 (x: []i32) = map (+ 2) x ++ x
44

5-
entry array_f64 (x: []f64) = map (+2) x ++ x
5+
entry array_f64 (x: []f64) = map (+ 2) x ++ x
66

77
entry transpose_i32 (x: [][]i32) = transpose x
88

9-
entry fails (x: i32) = 2/x
9+
entry fails (x: i32) = 2 / x
1010

1111
type record = {a: i32, b: bool}
1212

13-
entry mk_record (a: i32) (b: bool) : record = {a,b}
13+
entry mk_record (a: i32) (b: bool) : record = {a, b}
1414

1515
type sum_opaque [n] = #foo i32 | #bar record | #baz ([n]i32) bool
1616

@@ -19,9 +19,10 @@ entry mk_sum_opaque x : sum_opaque [42] = #foo x
1919
entry sum_opaque_size [n] (_: sum_opaque [n]) = n
2020

2121
entry sum_opaque_rot (s: sum_opaque []) : ?[n].sum_opaque [n] =
22-
match s case #foo x -> #bar {a=x, b=true}
23-
case #bar {a,b} -> #baz (replicate 10 a) b
24-
case #baz arr _ -> #foo (i32.sum arr)
22+
match s
23+
case #foo x -> #bar {a = x, b = true}
24+
case #bar {a, b} -> #baz (replicate 10 a) b
25+
case #baz arr _ -> #foo (i32.sum arr)
2526

2627
type~ record_with_opaque = {f: sum_opaque []}
2728
entry record_with_opaque x : record_with_opaque = {f = mk_sum_opaque x}
@@ -33,3 +34,7 @@ entry mk_record_array_array (xs: [][]i32) (ys: []i32) = zip xs ys
3334
entry mk_sum_unnamed (x: i32) = #foo x : sum_opaque [2]
3435

3536
entry mk_opaque_array (x: i32) = [#foo x : sum_opaque [2]]
37+
38+
type has_unit_arr [n] = {arr: [n]()}
39+
40+
entry mk_record_with_unit_arr n : has_unit_arr [n] = {arr = replicate n ()}

0 commit comments

Comments
 (0)