Files
Nim/tests/static/tstaticparams.nim
2014-01-13 02:10:03 +01:00

32 lines
541 B
Nim

discard """
file: "tstaticparams.nim"
output: "abracadabra\ntest\n3"
"""
type
TFoo[T; Val: static[string]] = object
data: array[4, T]
TBar[T; I: static[int]] = object
data: array[I, T]
TA1[T; I: static[int]] = array[I, T]
# TA2[T; I: static[int]] = array[0..I, T]
# TA3[T; I: static[int]] = array[I-1, T]
proc takeFoo(x: TFoo) =
echo "abracadabra"
echo TFoo.Val
var x: TFoo[int, "test"]
takeFoo(x)
var y: TBar[float, 4]
echo high(y.data)
var
t1: TA1[float, 1]
# t2: TA2[string, 4]
# t3: TA3[int, 10]