From 4d2c948281ee1ad38f8098d1b454dc4787441e8b Mon Sep 17 00:00:00 2001 From: Zahary Karadjov Date: Sat, 15 Mar 2014 12:04:57 +0200 Subject: [PATCH] fix #1001 --- compiler/lambdalifting.nim | 2 +- tests/metatype/tusertypeclasses.nim | 1 + tests/metatype/udtcmanual.nim | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/lambdalifting.nim b/compiler/lambdalifting.nim index 67cd364dc4..4bc8eff861 100644 --- a/compiler/lambdalifting.nim +++ b/compiler/lambdalifting.nim @@ -518,7 +518,7 @@ proc searchForInnerProcs(o: POuterContext, n: PNode) = else: internalError(it.info, "transformOuter") of nkProcDef, nkMethodDef, nkConverterDef, nkMacroDef, nkTemplateDef, - nkClosure: + nkClosure, nkTypeSection: # don't recurse here: # XXX recurse here and setup 'up' pointers discard diff --git a/tests/metatype/tusertypeclasses.nim b/tests/metatype/tusertypeclasses.nim index 5b04c490f2..eb6597e4dc 100644 --- a/tests/metatype/tusertypeclasses.nim +++ b/tests/metatype/tusertypeclasses.nim @@ -34,6 +34,7 @@ type T.x y(T) intval T.y + let y = intval(T.y) proc y(x: TObj): int = 10 diff --git a/tests/metatype/udtcmanual.nim b/tests/metatype/udtcmanual.nim index f22bd6ac6f..dd44298dc4 100644 --- a/tests/metatype/udtcmanual.nim +++ b/tests/metatype/udtcmanual.nim @@ -25,7 +25,7 @@ type C.len is Ordinal items(c) is iterator for value in C: - value.type is T + type(value) is T proc takesIntContainer(c: Container[int]) = for e in c: echo e