mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-19 05:50:30 +00:00
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user