summary refs log tree commit diff stats
path: root/tests/dll
diff options
context:
space:
mode:
Diffstat (limited to 'tests/dll')
-rw-r--r--tests/dll/nimhcr_2_1.nim15
-rw-r--r--tests/dll/nimhcr_integration.nim1
2 files changed, 16 insertions, 0 deletions
diff --git a/tests/dll/nimhcr_2_1.nim b/tests/dll/nimhcr_2_1.nim
index a13b4c681..faafb1f76 100644
--- a/tests/dll/nimhcr_2_1.nim
+++ b/tests/dll/nimhcr_2_1.nim
@@ -13,3 +13,18 @@ echo a.str
 
 beforeCodeReload:
   echo "   2: before!"
+
+# testing a construct of 2 functions in the same module which reference each other
+# https://github.com/nim-lang/Nim/issues/11608
+proc rec_1(depth: int)
+proc rec_2(depth: int) =
+  rec_1(depth + 1)
+proc rec_1(depth: int) =
+  if depth < 3:
+    rec_2(depth)
+  else:
+    echo("max mutual recursion reached!")
+
+# https://github.com/nim-lang/Nim/issues/11996
+let rec_2_func_ref = rec_2
+rec_2_func_ref(0)
diff --git a/tests/dll/nimhcr_integration.nim b/tests/dll/nimhcr_integration.nim
index 40ba90f72..9bae64ef4 100644
--- a/tests/dll/nimhcr_integration.nim
+++ b/tests/dll/nimhcr_integration.nim
@@ -29,6 +29,7 @@ main: hasAnyModuleChanged? true
    0: before - improved!
 main: before
    2: random string
+max mutual recursion reached!
 1
 bar
    0: after - closure iterator: 0