summary refs log blame commit diff stats
path: root/tests/patterns/tstar.nim
blob: 8443268f4abbc1a612fb607076e8dc6873a73527 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12











                                       
                                                   



                                                    
                                          
                   
discard """
  output: "my awesome concat"
"""

var
  calls = 0
  
proc `&&`(s: varargs[string]): string =
  result = s[0]
  for i in 1..len(s)-1: result.add s[i]
  inc calls

template optConc{ `&&` * a }(a: string): expr = &&a

let space = " "
echo "my" && (space & "awe" && "some " ) && "concat"

# check that it's been optimized properly:
doAssert calls == 1