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: NimNode var node {.compileTime.}: NimNode
# an assignment of stmtList into an array # an assignment of stmtList into an array
var nodeArray: array[1, NimNode] var nodeArray {.compileTime.}: array[1, NimNode]
# an assignment of stmtList into a seq # an assignment of stmtList into a seq
var nodeSeq = newSeq[NimNode](2) var nodeSeq {.compileTime.} = 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: NimNode var stmtList {.compileTime.}: 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]