mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
@@ -129,7 +129,7 @@
|
||||
# break :stateLoop
|
||||
|
||||
import
|
||||
ast, msgs, idents,
|
||||
ast, astalgo, msgs, idents,
|
||||
renderer, magicsys, lowerings, lambdalifting, modulegraphs, lineinfos
|
||||
|
||||
type
|
||||
@@ -388,6 +388,10 @@ proc hasYieldsInExpressions(n: PNode): bool =
|
||||
return true
|
||||
else:
|
||||
result = n.hasYields
|
||||
of nkCast:
|
||||
for i in 1..<n.len:
|
||||
if n[i].hasYieldsInExpressions:
|
||||
return true
|
||||
else:
|
||||
for c in n:
|
||||
if c.hasYieldsInExpressions:
|
||||
@@ -686,7 +690,7 @@ proc lowerStmtListExprs(ctx: var Ctx, n: PNode, needsSplit: var bool): PNode =
|
||||
of nkCast, nkHiddenStdConv, nkHiddenSubConv, nkConv, nkObjDownConv,
|
||||
nkDerefExpr, nkHiddenDeref:
|
||||
var ns = false
|
||||
for i in 0..<n.len:
|
||||
for i in ord(n.kind == nkCast)..<n.len:
|
||||
n[i] = ctx.lowerStmtListExprs(n[i], ns)
|
||||
|
||||
if ns:
|
||||
|
||||
@@ -5,6 +5,7 @@ Specific except
|
||||
Multiple idents in except
|
||||
Multiple except branches
|
||||
Multiple except branches 2
|
||||
success
|
||||
'''
|
||||
targets: "c"
|
||||
"""
|
||||
@@ -101,3 +102,17 @@ assert y.waitFor() == 2
|
||||
|
||||
y = test4()
|
||||
assert y.waitFor() == 2
|
||||
|
||||
# bug #14279
|
||||
|
||||
proc expandValue: Future[int] {.async.} =
|
||||
return 0
|
||||
|
||||
proc a(b: int): Future[void] {.async.} =
|
||||
return
|
||||
|
||||
proc b: Future[void] {.async.} =
|
||||
await a(await expandValue())
|
||||
echo "success"
|
||||
|
||||
waitFor(b())
|
||||
|
||||
Reference in New Issue
Block a user