summaryrefslogtreecommitdiff
path: root/test/coq/pass/unpacking.sail
blob: d0143f40b6812bc8364610006d67e00f50eb70f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
default Order dec

$include <prelude.sail>

val f : int -> {'n, 'n >= 0. int('n)} effect {rreg}
val g : int -> {'n, 'n >= 0. int('n)}

val test : unit -> int effect {rreg}

function test() = {
  let x1 : {'n, 'n >= 0. int('n)} = f(5);
  let x2 : int = f(6);
  let y1 : {'n, 'n >= 0. int('n)} = g(7);
  let y2 : int = g(8);
  x1 + x2 + y1 + y2
}