diff --git a/compiler/closureiters.nim b/compiler/closureiters.nim index 87c5b795eb..70a17e5441 100644 --- a/compiler/closureiters.nim +++ b/compiler/closureiters.nim @@ -163,7 +163,7 @@ type const nkSkip = {nkEmpty..nkNilLit, nkTemplateDef, nkTypeSection, nkStaticStmt, - nkCommentStmt, nkMixinStmt, nkBindStmt} + procDefs + nkCommentStmt, nkMixinStmt, nkBindStmt, nkTypeOfExpr} + procDefs proc newStateAccess(ctx: var Ctx): PNode = if ctx.stateVarSym.isNil: diff --git a/tests/iter/ttypeofclosureiter.nim b/tests/iter/ttypeofclosureiter.nim new file mode 100644 index 0000000000..3ea3c1d442 --- /dev/null +++ b/tests/iter/ttypeofclosureiter.nim @@ -0,0 +1,7 @@ +# issue #24859 + +template u(): int = + yield 0 + 0 +iterator s(): int {.closure.} = discard default(typeof(u())) +let _ = s