summary refs log tree commit diff stats
path: root/compiler/semmagic.nim
diff options
context:
space:
mode:
authorZahary Karadjov <zahary@gmail.com>2017-06-05 05:20:13 +0300
committerAndreas Rumpf <rumpf_a@web.de>2017-06-20 11:29:42 +0200
commitcd0256136839261b1c1b86c826d74cdbca5ddb67 (patch)
tree1a2043345025c2d849c680ace2707473b82bf04a /compiler/semmagic.nim
parent30ccadfe4c7674cd8e58f6a8fe75055c4518dac3 (diff)
downloadNim-cd0256136839261b1c1b86c826d74cdbca5ddb67.tar.gz
introduce a pre-processing pass for the concept bodies
fixes #4982
fixes #3805

close #3414
Diffstat (limited to 'compiler/semmagic.nim')
-rw-r--r--compiler/semmagic.nim4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/semmagic.nim b/compiler/semmagic.nim
index eb6259df0..c664f735c 100644
--- a/compiler/semmagic.nim
+++ b/compiler/semmagic.nim
@@ -110,7 +110,7 @@ proc uninstantiate(t: PType): PType =
     else: t
 
 proc evalTypeTrait(traitCall: PNode, operand: PType, context: PSym): PNode =
-  const skippedTypes = {tyTypeDesc}
+  const skippedTypes = {tyTypeDesc, tyAlias}
   let trait = traitCall[0]
   internalAssert trait.kind == nkSym
   var operand = operand.skipTypes(skippedTypes)
@@ -119,7 +119,7 @@ proc evalTypeTrait(traitCall: PNode, operand: PType, context: PSym): PNode =
     traitCall.sons[2].typ.skipTypes({tyTypeDesc})
 
   template typeWithSonsResult(kind, sons): PNode =
-    newTypeWithSons2(kind, context, sons).toNode(traitCall.info)
+    newTypeWithSons(context, kind, sons).toNode(traitCall.info)
 
   case trait.sym.name.s
   of "or", "|":