diff --git a/compiler/sigmatch.nim b/compiler/sigmatch.nim index 6084e11c02..41596f05ce 100644 --- a/compiler/sigmatch.nim +++ b/compiler/sigmatch.nim @@ -297,7 +297,9 @@ proc describeArgs*(c: PContext, n: PNode, startIdx = 1; n.sons[i].typ = arg.typ n.sons[i].sons[1] = arg else: - if arg.typ.isNil and arg.kind notin {nkStmtList, nkDo}: + if arg.typ.isNil and arg.kind notin {nkStmtList, nkDo, nkElse, + nkOfBranch, nkElifBranch, + nkExceptBranch}: arg = c.semOperand(c, n.sons[i]) n.sons[i] = arg if arg.typ != nil and arg.typ.kind == tyError: return diff --git a/doc/tut2.rst b/doc/tut2.rst index 3215712815..0bb4c94e18 100644 --- a/doc/tut2.rst +++ b/doc/tut2.rst @@ -723,7 +723,7 @@ regular expressions: .. code-block:: nim - macro case_token(n: typed): typed = + macro case_token(n: varargs[untyped]): typed = # creates a lexical analyzer from regular expressions # ... (implementation is an exercise for the reader :-) discard