summaryrefslogtreecommitdiff
path: root/test/mono/itself_rewriting.sail
diff options
context:
space:
mode:
authorThomas Bauereiss2020-05-04 17:53:12 +0100
committerThomas Bauereiss2020-05-04 20:54:42 +0100
commit929469c81d863703aa5817bbbd92c697eca3af26 (patch)
tree9696861096b04bfe5a2fb150feb00c2061773db5 /test/mono/itself_rewriting.sail
parenta1d7dc8a237dbbc5eacbec71ca2a258bc48b4234 (diff)
Try to fix bug in size parameter rewriting
If we call a function where some arguments need to be rewritten, we might need to rewrite those parameters in the caller as well.
Diffstat (limited to 'test/mono/itself_rewriting.sail')
-rw-r--r--test/mono/itself_rewriting.sail8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/mono/itself_rewriting.sail b/test/mono/itself_rewriting.sail
index 912cb99d..4d67ee1a 100644
--- a/test/mono/itself_rewriting.sail
+++ b/test/mono/itself_rewriting.sail
@@ -83,6 +83,13 @@ function test_execute() = {
execute(datasize)
}
+val transitive_itself : forall 'n. int('n) -> unit
+
+function transitive_itself(n) = {
+ needs_size_in_guard(n);
+ ()
+}
+
val run : unit -> unit effect {escape}
function run () = {
@@ -90,4 +97,5 @@ function run () = {
test_execute();
willsplit(true);
willsplit(false);
+ transitive_itself(16);
}