parent
f9d7e8db2a
commit
f16449ec22
5 changed files with 137 additions and 31 deletions
|
|
@ -2,7 +2,13 @@ discard """
|
|||
msg: '''a
|
||||
s
|
||||
d
|
||||
f'''
|
||||
f
|
||||
TTaa
|
||||
TTaa
|
||||
TTaa
|
||||
TTaa'''
|
||||
|
||||
output: '''test'''
|
||||
"""
|
||||
|
||||
type
|
||||
|
|
@ -18,3 +24,41 @@ macro test(): stmt =
|
|||
echo i.s
|
||||
|
||||
test()
|
||||
|
||||
|
||||
# bug 1297
|
||||
|
||||
import macros
|
||||
|
||||
type TType = tuple[s: string]
|
||||
|
||||
macro echotest(): stmt =
|
||||
var t: TType
|
||||
t.s = ""
|
||||
t.s.add("test")
|
||||
result = newCall(newIdentNode("echo"), newStrLitNode(t.s))
|
||||
|
||||
echotest()
|
||||
|
||||
# bug #1103
|
||||
|
||||
type
|
||||
Td = tuple
|
||||
a:string
|
||||
b:int
|
||||
|
||||
proc get_data(d: Td) : string {.compileTime.} =
|
||||
result = d.a # Works if a literal string is used here.
|
||||
# Bugs if line A or B is active. Works with C
|
||||
result &= "aa" # A
|
||||
#result.add("aa") # B
|
||||
#result = result & "aa" # C
|
||||
|
||||
macro m(s:static[Td]) : stmt =
|
||||
echo get_data(s)
|
||||
echo get_data(s)
|
||||
result = newEmptyNode()
|
||||
|
||||
const s=("TT", 3)
|
||||
m(s)
|
||||
m(s)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue