diff --git a/compiler/closureiters.nim b/compiler/closureiters.nim index dd6eb986ee..7e0f54b12e 100644 --- a/compiler/closureiters.nim +++ b/compiler/closureiters.nim @@ -164,7 +164,7 @@ type const nkSkip = {nkEmpty..nkNilLit, nkTemplateDef, nkTypeSection, nkStaticStmt, - nkCommentStmt, nkMixinStmt, nkBindStmt} + procDefs + nkCommentStmt, nkMixinStmt, nkBindStmt, nkTypeOfExpr} + procDefs emptyStateLabel = -1 localNotSeen = -1 localRequiresLifting = -2 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