From 97a114fae0667dee49f1e6efee5d7742c8ccee47 Mon Sep 17 00:00:00 2001 From: Lukasz Czajka Date: Wed, 9 Oct 2024 10:54:23 +0200 Subject: [PATCH] add test --- test/Tree/Eval/Positive.hs | 7 ++++++- tests/Tree/positive/out/test042.out | 1 + tests/Tree/positive/test042.jvt | 25 +++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 tests/Tree/positive/out/test042.out create mode 100644 tests/Tree/positive/test042.jvt diff --git a/test/Tree/Eval/Positive.hs b/test/Tree/Eval/Positive.hs index 3f6ad1aca4..6026e3a577 100644 --- a/test/Tree/Eval/Positive.hs +++ b/test/Tree/Eval/Positive.hs @@ -244,5 +244,10 @@ tests = "Test041: Type unification" $(mkRelDir ".") $(mkRelFile "test041.jvt") - $(mkRelFile "out/test041.out") + $(mkRelFile "out/test041.out"), + PosTest + "Test042: Uncurried function type unification" + $(mkRelDir ".") + $(mkRelFile "test042.jvt") + $(mkRelFile "out/test042.out") ] diff --git a/tests/Tree/positive/out/test042.out b/tests/Tree/positive/out/test042.out new file mode 100644 index 0000000000..27ba77ddaf --- /dev/null +++ b/tests/Tree/positive/out/test042.out @@ -0,0 +1 @@ +true diff --git a/tests/Tree/positive/test042.jvt b/tests/Tree/positive/test042.jvt new file mode 100644 index 0000000000..d591d9f053 --- /dev/null +++ b/tests/Tree/positive/test042.jvt @@ -0,0 +1,25 @@ +type Eq { + mkEq : ((*, *) → bool) → Eq; +} + +function lambda_app(f : (*, *) → bool, a : *, b : *) : bool { + ccall(f, a, b) +} + +function spec(Eq) : Eq { + alloc[mkEq](calloc[lambda_app](case[Eq](arg[0]) { + mkEq: save { + tmp[0].mkEq[0] + } + })) +} + +function cmp(integer, integer) : bool { + lt(arg[0], arg[1]) +} + +function main() : bool { + save(call[spec](alloc[mkEq](calloc[cmp]()))) { + ccall(tmp[0].mkEq[0], 1, 2) + } +}