improvements for 'bind', fixes #166

This commit is contained in:
Araq 2012-07-18 17:21:10 +02:00
commit e68830a952
6 changed files with 61 additions and 32 deletions

24
tests/run/tstempl.nim Normal file
View file

@ -0,0 +1,24 @@
discard """
output: '''global = levB, arg = levA, test = false
levB'''
"""
# tstempl.nim
import strutils
type
TLev = enum
levA,
levB
var abclev = levB
template tstLev(abclev: TLev) =
bind tstempl.abclev, `%`
writeln(stdout, "global = $1, arg = $2, test = $3" % [
$tstempl.abclev, $abclev, $(tstempl.abclev == abclev)])
# evaluates to true, but must be false
tstLev(levA)
writeln(stdout, $abclev)