summaryrefslogtreecommitdiff
path: root/test/c/poly_int_record.sail
blob: ebb187131803cdb93ede93d2ca3d743eb873a4f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
default Order dec

val "print_endline" : string -> unit
val "print_int" : (string, int) -> unit

struct S('a: Type) = {
  field1 : ('a, 'a),
  field2 : unit
}

function main((): unit) -> unit = {
  var s : S(range(0, 3)) = struct { field1 = (0, 3), field2 = () };
  s.field1 = (1, 2);
  match s.field1 {
    (x, y) => {
      print_int("x = ", x);
      print_int("y = ", y);
    }
  };
  print_endline("ok");
}