Adjust some tests to make them pass

The non-scoped behaviour of static blocks was exploited by those tests,
replace all the variables declared whithin one with compileTime marked
ones.
This commit is contained in:
LemonBoy 2018-06-25 15:56:13 +02:00
commit f559e62e45
3 changed files with 12 additions and 15 deletions

View file

@ -71,5 +71,4 @@ macro make(arg: untyped): untyped =
proc first(i: int): void = proc first(i: int): void =
make(second) make(second)
static: var ss {.compileTime.}: string = ""
var ss: string = ""

View file

@ -4,14 +4,12 @@ proc assertEq(arg0,arg1: string): void =
if arg0 != arg1: if arg0 != arg1:
raiseAssert("strings not equal:\n" & arg0 & "\n" & arg1) raiseAssert("strings not equal:\n" & arg0 & "\n" & arg1)
static: # a simple assignment of stmtList to another variable
# a simple assignment of stmtList to another variable var node {.compileTime.}: NimNode
var node: NimNode # an assignment of stmtList into an array
# an assignment of stmtList into an array var nodeArray {.compileTime.}: array[1, NimNode]
var nodeArray: array[1, NimNode] # an assignment of stmtList into a seq
# an assignment of stmtList into a seq var nodeSeq {.compileTime.} = newSeq[NimNode](2)
var nodeSeq = newSeq[NimNode](2)
proc checkNode(arg: NimNode; name: string): void {. compileTime .} = proc checkNode(arg: NimNode; name: string): void {. compileTime .} =
echo "checking ", name echo "checking ", name
@ -35,10 +33,10 @@ proc checkNode(arg: NimNode; name: string): void {. compileTime .} =
echo "OK" echo "OK"
static: # the root node that is used to generate the Ast
# the root node that is used to generate the Ast var stmtList {.compileTime.}: NimNode
var stmtList: NimNode
static:
stmtList = newStmtList(nnkDiscardStmt.newTree(newEmptyNode())) stmtList = newStmtList(nnkDiscardStmt.newTree(newEmptyNode()))
checkNode(stmtList, "direct construction") checkNode(stmtList, "direct construction")

View file

@ -19,9 +19,9 @@ block:
var x = default(type(0)) var x = default(type(0))
# #6379 # #6379
static: import algorithm
import algorithm
static:
var numArray = [1, 2, 3, 4, -1] var numArray = [1, 2, 3, 4, -1]
numArray.sort(cmp) numArray.sort(cmp)
assert numArray == [-1, 1, 2, 3, 4] assert numArray == [-1, 1, 2, 3, 4]