summary refs log tree commit diff stats
path: root/tests/generics/tgenerics_issues.nim
diff options
context:
space:
mode:
authorAditya Siram <aditya.siram@gmail.com>2022-12-13 08:57:07 -0600
committerGitHub <noreply@github.com>2022-12-13 22:57:07 +0800
commit2564b5c938602e4f8820d2ed2b778c6d4f1d0cd5 (patch)
tree833f176cd33e2cfb6e597d0804d529f74729bd5b /tests/generics/tgenerics_issues.nim
parente4aadcf1c1b39a5fef55ce9f164b3251c44ca000 (diff)
downloadNim-2564b5c938602e4f8820d2ed2b778c6d4f1d0cd5.tar.gz
Fix #20416. Enable the recursion limit for ref/ptr types. (#21092)
Diffstat (limited to 'tests/generics/tgenerics_issues.nim')
-rw-r--r--tests/generics/tgenerics_issues.nim20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/generics/tgenerics_issues.nim b/tests/generics/tgenerics_issues.nim
index db7a16569..3068a22f2 100644
--- a/tests/generics/tgenerics_issues.nim
+++ b/tests/generics/tgenerics_issues.nim
@@ -872,3 +872,23 @@ block: # Ensure no segfault from constraint
     a = Regex[int]()
     b = Regex[bool]()
     c = MyOtherType[seq[int]]()
+
+block: # https://github.com/nim-lang/Nim/issues/20416
+  type
+    Item[T] = object
+      link:ptr Item[T]
+      data:T
+
+    KVSeq[A,B] = seq[(A,B)]
+
+    MyTable[A,B] = object
+      data: KVSeq[A,B]
+
+    Container[T] = object
+      a: MyTable[int,ref Item[T]]
+
+  proc p1(sg:Container) = discard # Make sure that a non parameterized 'Container' argument still compiles
+
+  proc p2[T](sg:Container[T]) = discard
+  var v : Container[int]
+  p2(v)