1234567891011121314151617181920212223242526272829303132 |
- 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]()
- let _ = tproc[int]
- ttmpl[int]() #<- crash case #2
- ttmpl[int] #<- crash case #3
- # but still allow normal use of [] on non-generic templates
- template tarr: untyped = [1, 2, 3, 4]
- echo tarr[1]
|