1234567891011121314151617181920212223242526272829303132 |
- discard """
- msg: "static 10\ndynamic\nstatic 20\n"
- output: "s\nd\nd\ns"
- """
- type
- semistatic[T] =
- static[T] or T
- template isStatic*(x): bool =
- compiles(static(x))
- proc foo(x: semistatic[int]) =
- when isStatic(x):
- static: echo "static ", x
- echo "s"
- else:
- static: echo "dynamic"
- echo "d"
- foo 10
- var
- x = 10
- y: int
- foo x
- foo y
- foo 20
|