diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index 5a27d86218..3208403d48 100644 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -198,8 +198,9 @@ proc semConv(c: PContext, n: PNode): PNode = # separate proc from fitNode? if op.kind == nkSym and op.sym.isGenericRoutine: result.sons[1] = fitNode(c, result.typ, result.sons[1]) - elif op.kind == nkPar and targetType.kind == tyTuple: - # Set type of each field in case any have type tyEmpty (eg. `@[]`) + elif op.kind == nkPar and targetType.kind == tyTuple and + op.sons.len > 0 and op.sons[0].kind == nkExprColonExpr: + # Tuple conversion: set field types in case any are tyEmpty (eg. `@[]`) for i in 0..