summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorZahary Karadjov <zahary@gmail.com>2014-03-15 19:43:50 +0200
committerZahary Karadjov <zahary@gmail.com>2014-03-16 20:42:06 +0200
commit7dcf6ff50b03dfd54968383ad5a4258f040eec1b (patch)
treec38557f95adb9d7e6b78744325579ebce08f0487 /compiler
parent27c2c1e75ce9f7bf21dcbbb4625f494a6ac5837e (diff)
downloadNim-7dcf6ff50b03dfd54968383ad5a4258f040eec1b.tar.gz
fix #997
Diffstat (limited to 'compiler')
-rw-r--r--compiler/sigmatch.nim13
1 files changed, 7 insertions, 6 deletions
diff --git a/compiler/sigmatch.nim b/compiler/sigmatch.nim
index 049c9520b..433455365 100644
--- a/compiler/sigmatch.nim
+++ b/compiler/sigmatch.nim
@@ -1046,12 +1046,13 @@ proc paramTypesMatchAux(m: var TCandidate, f, argType: PType,
       # put(m.bindings, f, argType)
       return argSemantized
 
-    var evaluated = c.semTryConstExpr(c, arg)
-    if evaluated != nil:
-      arg.typ = newTypeS(tyStatic, c)
-      arg.typ.sons = @[evaluated.typ]
-      arg.typ.n = evaluated
-      argType = arg.typ
+    if argType.kind != tyStatic:
+      var evaluated = c.semTryConstExpr(c, arg)
+      if evaluated != nil:
+        arg.typ = newTypeS(tyStatic, c)
+        arg.typ.sons = @[evaluated.typ]
+        arg.typ.n = evaluated
+        argType = arg.typ
  
   var
     a = if c.inTypeClass > 0: argType.skipTypes({tyTypeDesc, tyFieldAccessor})