This commit is contained in:
Clyybber
2020-07-15 11:34:10 +02:00
committed by GitHub
parent c5f64f101b
commit 08159733cd
2 changed files with 32 additions and 2 deletions

View File

@@ -660,7 +660,7 @@ template handleNestedTempl(n, processCall: untyped, willProduceStmt = false) =
branch[0] = p(it[0], c, s, normal)
branch[^1] = if it[^1].typ.isEmptyType or willProduceStmt:
processScope(c, branchScope, processCall(it[^1], branchScope))
processScope(c, branchScope, maybeVoid(it[^1], branchScope))
else:
processScopeExpr(c, branchScope, it[^1], processCall)
result.add branch
@@ -679,7 +679,7 @@ template handleNestedTempl(n, processCall: untyped, willProduceStmt = false) =
var branchScope = nestedScope(s)
branch[^1] = if it[^1].typ.isEmptyType or willProduceStmt or it.kind == nkFinally:
processScope(c, branchScope, if it.kind == nkFinally: p(it[^1], c, branchScope, normal)
else: processCall(it[^1], branchScope))
else: maybeVoid(it[^1], branchScope))
else:
processScopeExpr(c, branchScope, it[^1], processCall)
result.add branch

View File

@@ -67,6 +67,9 @@ ho
king
live long; long live
king
hi
try
bye
'''
"""
@@ -494,3 +497,30 @@ proc weirdScopes =
echo king
weirdScopes()
# bug #14985
proc getScope(): string =
if true:
return "hi"
else:
"else"
echo getScope()
proc getScope3(): string =
try:
"try"
except:
return "except"
echo getScope3()
proc getScope2(): string =
case true
of true:
return "bye"
else:
"else"
echo getScope2()