fixes another regression

This commit is contained in:
Andreas Rumpf
2016-01-13 11:36:34 +01:00
parent d0709cc758
commit 6fbde1f4fb
2 changed files with 19 additions and 2 deletions

View File

@@ -167,12 +167,12 @@ proc sumGeneric(t: PType): int =
t = t.lastSon
if t.kind == tyEmpty: break
inc result
of tyGenericInvocation, tyTuple:
of tyGenericInvocation, tyTuple, tyProc:
result += ord(t.kind == tyGenericInvocation)
for i in 0 .. <t.len: result += t.sons[i].sumGeneric
break
of tyGenericParam, tyExpr, tyStatic, tyStmt: break
of tyBool, tyChar, tyEnum, tyObject, tyProc, tyPointer,
of tyBool, tyChar, tyEnum, tyObject, tyPointer,
tyString, tyCString, tyInt..tyInt64, tyFloat..tyFloat128,
tyUInt..tyUInt64:
return isvar

View File

@@ -0,0 +1,17 @@
discard """
output: '''concrete 88'''
"""
# Another regression triggered by changed closure computations:
proc foo[T](x: proc(): T) =
echo "generic ", x()
proc foo(x: proc(): int) =
echo "concrete ", x()
# note the following 'proc' is not .closure!
foo(proc (): auto {.nimcall.} = 88)
# bug #3499 last snippet fixed
# bug 705 last snippet fixed