summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/reorder.nim4
-rw-r--r--tests/modules/treorder.nim12
2 files changed, 10 insertions, 6 deletions
diff --git a/compiler/reorder.nim b/compiler/reorder.nim
index 215bc4112..06b937421 100644
--- a/compiler/reorder.nim
+++ b/compiler/reorder.nim
@@ -35,7 +35,7 @@ proc computeDeps(n: PNode, declares, uses: var IntSet; topLevel: bool) =
   of procDefs:
     decl(n[0])
     for i in 1..bodyPos: deps(n[i])
-  of nkLetSection, nkVarSection:
+  of nkLetSection, nkVarSection, nkUsingStmt:
     for a in n:
       if a.kind in {nkIdentDefs, nkVarTuple}:
         for j in countup(0, a.len-3): decl(a[j])
@@ -99,4 +99,4 @@ proc reorder*(n: PNode): PNode =
       result.sons[i].flags = result.sons[i].flags - {nfTempMark, nfPermMark}
       result.sons[L - i].flags = result.sons[L - i].flags - {nfTempMark, nfPermMark}
       swap(result.sons[i], result.sons[L - i])
-  echo result
+  #echo result
diff --git a/tests/modules/treorder.nim b/tests/modules/treorder.nim
index abe74c5df..25280c429 100644
--- a/tests/modules/treorder.nim
+++ b/tests/modules/treorder.nim
@@ -3,10 +3,11 @@ discard """
   output: '''works 34
 34
 defined
-first impl'''
+3'''
 """
 
 {.reorder: on.}
+{.experimental.}
 
 {.push callconv: stdcall.}
 proc bar(x: T)
@@ -32,11 +33,14 @@ else:
   proc whendep() = echo "undefined"
 
 when not declared(goo):
-  proc goo() = echo "first impl"
+  proc goo(my, omy) = echo my
 
 when not declared(goo):
-  proc goo() = echo "second impl"
+  proc goo(my, omy) = echo omy
 
-goo()
+using
+  my, omy: int
+
+goo(3, 4)
 
 {.pop.}