Files
Nim/tests/modules/treorder.nim
ringabout 38f876dd48 fixes #19795; fixes #11852; fixes #19974; remove parsing pipeline, Nim now parses the whole module at one time (#21379)
* fixes #19795; remove parse pipeline

* isScript

* fixes nimscriptapi

* don't touch reorder

* check script

* fixes tests

* it seems implicit imports of system cause troubles

* access the first child of `nkStmtList`

* ignore comments

* minor messages

* perhaps increases hloLoopDetector

* the module is a stmtList, which changes the errors

* fixes nimdoc

* fixes tlinter

* fixes nim  secret tests

* fixes arc_misc

* fixes nim secret tests again

* safe; fixes one more test

* GlobalError is the root cause too

* fixes parsing errors

* put emit types to the cfsForwardTypes section

* fixes #11852; `{.push checks:off}` now works in procs

* disable navigator

* fixes nimdoc

* add tests for JS

* fixes nimsuggest
2023-02-22 20:34:20 +01:00

44 lines
544 B
Nim

discard """
matrix: "--experimental:codeReordering -d:testdef"
output: '''works 34
34
defined
3'''
"""
{.experimental: "codeReordering".}
proc bar(x: T)
proc foo() =
bar(34)
whendep()
proc foo(dummy: int) = echo dummy
proc bar(x: T) =
echo "works ", x
foo(x)
when defined(testdef):
proc whendep() = echo "defined"
else:
proc whendep() = echo "undefined"
foo()
type
T = int
when not declared(goo):
proc goo(my, omy) = echo my
when not declared(goo):
proc goo(my, omy) = echo omy
using
my, omy: int
goo(3, 4)