From 47f523cfb8b5d430d1105c608440200950183bb1 Mon Sep 17 00:00:00 2001 From: Araq Date: Sun, 30 Oct 2011 21:27:02 +0100 Subject: [PATCH] bugfix: template t(f_no_Type) does not crash the compiler anymore in 'check' mode --- compiler/semtypes.nim | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/semtypes.nim b/compiler/semtypes.nim index 3536a2a34..1d855d97f 100755 --- a/compiler/semtypes.nim +++ b/compiler/semtypes.nim @@ -529,6 +529,12 @@ proc semProcTypeNode(c: PContext, n, genericParams: PNode, # debug a.sons[length-2][0][1] else: typ = nil + # consider: + # template T(x) + # it's wrong, but the parser might not generate a fatal error (when in + # 'check' mode for example), so we need to check again here: + if unlikely(a.sons[length-1].kind == nkEmpty): continue + if a.sons[length-1].kind != nkEmpty: def = semExprWithType(c, a.sons[length-1]) # check type compability between def.typ and typ: