diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2018-06-26 23:16:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-26 23:16:40 +0200 |
commit | ccb15148370f78768c6a5655f2b09d8ab9e85768 (patch) | |
tree | c50eff36ca3b315024ff43fc2f0741e414cc2e52 /tests | |
parent | bf5de98c6a68c73fb9a5e638b3877e5ef4674791 (diff) | |
parent | f559e62e45b4be227d494e75fe82f571ee410840 (diff) | |
download | Nim-ccb15148370f78768c6a5655f2b09d8ab9e85768.tar.gz |
Merge pull request #8108 from LemonBoy/fix-5958
Make `static` blocks introduce their own scope
Diffstat (limited to 'tests')
-rw-r--r-- | tests/global/t5958.nim | 9 | ||||
-rw-r--r-- | tests/pragmas/treorder.nim | 3 | ||||
-rw-r--r-- | tests/vm/tnimnode.nim | 20 | ||||
-rw-r--r-- | tests/vm/tvmmisc.nim | 4 |
4 files changed, 21 insertions, 15 deletions
diff --git a/tests/global/t5958.nim b/tests/global/t5958.nim new file mode 100644 index 000000000..5abcad4a9 --- /dev/null +++ b/tests/global/t5958.nim @@ -0,0 +1,9 @@ +discard """ + line: 9 + errormsg: "undeclared identifier: 'a'" +""" + +static: + var a = 1 + +echo a diff --git a/tests/pragmas/treorder.nim b/tests/pragmas/treorder.nim index 6a6bbff4d..1006af527 100644 --- a/tests/pragmas/treorder.nim +++ b/tests/pragmas/treorder.nim @@ -71,5 +71,4 @@ macro make(arg: untyped): untyped = proc first(i: int): void = make(second) -static: - var ss: string = "" \ No newline at end of file +var ss {.compileTime.}: string = "" \ No newline at end of file diff --git a/tests/vm/tnimnode.nim b/tests/vm/tnimnode.nim index 188bac9bf..4210ab41d 100644 --- a/tests/vm/tnimnode.nim +++ b/tests/vm/tnimnode.nim @@ -4,14 +4,12 @@ proc assertEq(arg0,arg1: string): void = if arg0 != arg1: raiseAssert("strings not equal:\n" & arg0 & "\n" & arg1) -static: - # a simple assignment of stmtList to another variable - var node: NimNode - # an assignment of stmtList into an array - var nodeArray: array[1, NimNode] - # an assignment of stmtList into a seq - var nodeSeq = newSeq[NimNode](2) - +# a simple assignment of stmtList to another variable +var node {.compileTime.}: NimNode +# an assignment of stmtList into an array +var nodeArray {.compileTime.}: array[1, NimNode] +# an assignment of stmtList into a seq +var nodeSeq {.compileTime.} = newSeq[NimNode](2) proc checkNode(arg: NimNode; name: string): void {. compileTime .} = echo "checking ", name @@ -35,10 +33,10 @@ proc checkNode(arg: NimNode; name: string): void {. compileTime .} = echo "OK" -static: - # the root node that is used to generate the Ast - var stmtList: NimNode +# the root node that is used to generate the Ast +var stmtList {.compileTime.}: NimNode +static: stmtList = newStmtList(nnkDiscardStmt.newTree(newEmptyNode())) checkNode(stmtList, "direct construction") diff --git a/tests/vm/tvmmisc.nim b/tests/vm/tvmmisc.nim index 4af824cf4..80f5aeee0 100644 --- a/tests/vm/tvmmisc.nim +++ b/tests/vm/tvmmisc.nim @@ -19,9 +19,9 @@ block: var x = default(type(0)) # #6379 -static: - import algorithm +import algorithm +static: var numArray = [1, 2, 3, 4, -1] numArray.sort(cmp) assert numArray == [-1, 1, 2, 3, 4] |