Merge branch 'patch/fix-3496-generic-tmpl-args' of https://github.com/nanoant/Nim into nanoant-patch/fix-3496-generic-tmpl-args
This commit is contained in:
commit
e52044660d
3 changed files with 88 additions and 5 deletions
31
tests/generics/tgenerictmpl2.nim
Normal file
31
tests/generics/tgenerictmpl2.nim
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
discard """
|
||||
output: '''1
|
||||
1
|
||||
1
|
||||
1
|
||||
999
|
||||
999
|
||||
999
|
||||
2'''
|
||||
"""
|
||||
|
||||
# test if we can pass explicit generic arguments to generic templates
|
||||
# based on bug report #3496
|
||||
|
||||
proc tproc[T](t: T = 999) = echo t
|
||||
template ttmpl[T](t: T = 999) = echo t
|
||||
|
||||
tproc(1)
|
||||
tproc[int](1)
|
||||
ttmpl(1)
|
||||
ttmpl[int](1) #<- crash case #1
|
||||
|
||||
tproc[int]()
|
||||
discard tproc[int]
|
||||
ttmpl[int]() #<- crash case #2
|
||||
ttmpl[int] #<- crash case #3
|
||||
|
||||
# but still allow normal use of [] on non-generic templates
|
||||
|
||||
template tarr: expr = [1, 2, 3, 4]
|
||||
echo tarr[1]
|
||||
Loading…
Add table
Add a link
Reference in a new issue