Fix infinite recursion in semtypes with recursive types

Fixes #2213
This commit is contained in:
def
2015-03-13 02:17:46 +01:00
parent d6c957e9b4
commit c19d6cb620

View File

@@ -787,6 +787,8 @@ proc liftParamType(c: PContext, procKind: TSymKind, genericParams: PNode,
result = addImplicitGeneric(typ)
else:
for i in 0 .. <paramType.sons.len:
if paramType.sons[i] == paramType:
localError(info, errIllegalRecursionInTypeX, typeToString(paramType))
var lifted = liftingWalk(paramType.sons[i])
if lifted != nil:
paramType.sons[i] = lifted