summary refs log tree commit diff stats
path: root/tests/template/tgenericparam.nim
diff options
context:
space:
mode:
authormetagn <metagngn@gmail.com>2023-09-19 10:26:26 +0300
committerGitHub <noreply@github.com>2023-09-19 15:26:26 +0800
commit81756d1810c7c00e0bb706bb79f5437120ae4c0e (patch)
tree566145add937c45928787dcb79fdf0515617ba74 /tests/template/tgenericparam.nim
parent51cb493b221e704efce126049f9f320eb1cb1a36 (diff)
downloadNim-81756d1810c7c00e0bb706bb79f5437120ae4c0e.tar.gz
second test case haul for templates and generics (#22728)
closes #8390, closes #11726, closes #8446, closes #21221, closes #7461,
closes #7995
Diffstat (limited to 'tests/template/tgenericparam.nim')
-rw-r--r--tests/template/tgenericparam.nim15
1 files changed, 14 insertions, 1 deletions
diff --git a/tests/template/tgenericparam.nim b/tests/template/tgenericparam.nim
index d33f55cf7..becf75d36 100644
--- a/tests/template/tgenericparam.nim
+++ b/tests/template/tgenericparam.nim
@@ -36,7 +36,7 @@ block: # basic template generic parameter substitution
     template run[T](): T = default(T)
     doAssert run[int]() == 0
 
-import options, tables
+import options, tables, typetraits
 
 block: # complex cases of above with imports
   block: # issue #19576, complex case
@@ -78,3 +78,16 @@ block: # complex cases of above with imports
         else:
           Foo.init(A,"hi")
       let op = fromOption(some(5))
+  block: # issue #7461
+    template p[T](): untyped = none(T)
+    doAssert p[int]() == none(int)
+  block: # issue #7995
+    var res: string
+    template copyRange[T](dest: seq[T], destOffset: int) =
+      when supportsCopyMem(T):
+        res = "A"
+      else:    
+        res = "B"
+    var a = @[1, 2, 3]
+    copyRange(a, 0)
+    doAssert res == "A"