Fix defer not not-working at top level (#10191)

This commit is contained in:
Neelesh Chandola
2019-01-07 05:21:17 +05:30
committed by Andreas Rumpf
parent 15773c455a
commit e77dd683eb
4 changed files with 4 additions and 13 deletions

View File

@@ -9,7 +9,6 @@ import os, asyncfile, asyncdispatch
const F = "test_async.txt"
removeFile(F)
defer: removeFile(F)
let f = openAsync(F, fmWrite)
var futs = newSeq[Future[void]]()
for i in 1..3:
@@ -17,4 +16,4 @@ for i in 1..3:
waitFor(all(futs))
f.close()
echo readFile(F)
removeFile(F)

View File

@@ -1,6 +1,5 @@
discard """
output: '''hi
hi
1
hi
2
@@ -10,13 +9,6 @@ A'''
# bug #1742
template test(): untyped =
let a = 0
defer: echo "hi"
a
let i = test()
import strutils
let x = try: parseInt("133a")
except: -1
@@ -31,7 +23,7 @@ template atFuncEnd =
template testB(): untyped =
let a = 0
defer: echo "hi" # Delete this line to make it work
defer: echo "hi"
a
proc main =