summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2014-08-30 20:16:35 +0200
committerAraq <rumpf_a@web.de>2014-08-30 20:16:35 +0200
commit0257f389fef6492906e47761f7e366921113bba6 (patch)
treede384ba83fe75487d4d14f38bb0456855a087658
parent5fad73c8d0416133a418ec0c0c8bd4c279ae2ada (diff)
downloadNim-0257f389fef6492906e47761f7e366921113bba6.tar.gz
fixes #1366
-rw-r--r--compiler/semmagic.nim2
-rw-r--r--tests/generics/tgeneric0.nim12
2 files changed, 11 insertions, 3 deletions
diff --git a/compiler/semmagic.nim b/compiler/semmagic.nim
index 7b612c806..a72a6ab7d 100644
--- a/compiler/semmagic.nim
+++ b/compiler/semmagic.nim
@@ -126,7 +126,7 @@ proc magicsAfterOverloadResolution(c: PContext, n: PNode,
     result.typ = getSysType(tyString)
   of mInstantiationInfo: result = semInstantiationInfo(c, n)
   of mOrd: result = semOrd(c, n)
-  of mHigh: result = semLowHigh(c, n, mHigh)
+  of mHigh, mLow: result = semLowHigh(c, n, n[0].sym.magic)
   of mShallowCopy: result = semShallowCopy(c, n, flags)
   of mNBindSym: result = semBindSym(c, n)
   of mLocals: result = semLocals(c, n)
diff --git a/tests/generics/tgeneric0.nim b/tests/generics/tgeneric0.nim
index 9292b729f..45450ccca 100644
--- a/tests/generics/tgeneric0.nim
+++ b/tests/generics/tgeneric0.nim
@@ -1,9 +1,9 @@
 import tables
 
 type
-  TX = TTable[string, int]
+  TX = Table[string, int]
 
-proc foo(models: seq[TTable[string, float]]): seq[float] =
+proc foo(models: seq[Table[string, float]]): seq[float] =
   result = @[]
   for model in models.items:
     result.add model["foobar"]
@@ -16,4 +16,12 @@ proc foo[T](p: TType[T, range[0..1]]) =
 proc foo[T](p: TType[T, range[0..2]]) =
   echo "bar"
 
+#bug #1366
+
+proc reversed(x) =
+  for i in countdown(x.low, x.high):
+    echo i
+
+reversed(@[-19, 7, -4, 6])
+