parent
433ce7bea2
commit
aeb6ec27de
5 changed files with 41 additions and 8 deletions
|
|
@ -1,8 +1,8 @@
|
|||
discard """
|
||||
nimout: '''
|
||||
instantiation 1 with None and None
|
||||
instantiation 2 with None and None
|
||||
instantiation 3 with None and None
|
||||
instantiation 1 with typeDesc[int] and typeDesc[float]
|
||||
instantiation 2 with typeDesc[float] and typeDesc[string]
|
||||
instantiation 3 with typeDesc[string] and typeDesc[string]
|
||||
counter: 3
|
||||
'''
|
||||
output: "int\nfloat\nint\nstring"
|
||||
|
|
@ -14,7 +14,7 @@ var counter {.compileTime.} = 0
|
|||
|
||||
macro makeBar(A, B: typedesc): typedesc =
|
||||
inc counter
|
||||
echo "instantiation ", counter, " with ", A.name, " and ", B.name
|
||||
echo "instantiation ", counter, " with ", A.getTypeInst.repr, " and ", B.getTypeInst.repr
|
||||
result = A
|
||||
|
||||
type
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
discard """
|
||||
output: "Got: 'nnkCall' hi"
|
||||
output: '''Got: 'nnkCall' hi
|
||||
{a}
|
||||
{b}
|
||||
{a, b}'''
|
||||
"""
|
||||
|
||||
import
|
||||
|
|
@ -27,3 +30,22 @@ var str: string
|
|||
outterMacro(str):
|
||||
"hellow"
|
||||
echo str
|
||||
|
||||
type E = enum a b
|
||||
macro enumerators1(): set[E] = newLit({a})
|
||||
|
||||
macro enumerators2(): set[E] =
|
||||
return newLit({b})
|
||||
|
||||
macro enumerators3(): set[E] =
|
||||
result = newLit({E.low .. E.high})
|
||||
|
||||
var myEnums: set[E]
|
||||
|
||||
|
||||
myEnums = enumerators1()
|
||||
echo myEnums
|
||||
myEnums = enumerators2()
|
||||
echo myEnums
|
||||
myEnums = enumerators3()
|
||||
echo myEnums
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ block tgenericparams:
|
|||
let expr0 = "proc foo[T, N: static[int]]()"
|
||||
let expr1 = "proc foo[T; N: static[int]]()"
|
||||
|
||||
$toStrLit(parseExpr(expr0)) & "\n" & $toStrLit(parseExpr(expr1))
|
||||
newLit($toStrLit(parseExpr(expr0)) & "\n" & $toStrLit(parseExpr(expr1)))
|
||||
|
||||
echo test()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue