summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2017-11-23 02:32:24 +0100
committerAraq <rumpf_a@web.de>2017-11-23 02:32:24 +0100
commit95a5373d07c5761cfffe54dedd08c1649a403247 (patch)
tree468b72bc7e8ce6438dfc6fea5c0215d23731873e
parent6f69bdd3a047d4d959019556c1aabb725ad9221b (diff)
downloadNim-95a5373d07c5761cfffe54dedd08c1649a403247.tar.gz
minor optimization for propagateToOwner
-rw-r--r--compiler/ast.nim5
1 files changed, 1 insertions, 4 deletions
diff --git a/compiler/ast.nim b/compiler/ast.nim
index 1576135bb..787cb4997 100644
--- a/compiler/ast.nim
+++ b/compiler/ast.nim
@@ -1411,7 +1411,7 @@ proc isGCedMem*(t: PType): bool {.inline.} =
 
 proc propagateToOwner*(owner, elem: PType) =
   const HaveTheirOwnEmpty = {tySequence, tyOpt, tySet, tyPtr, tyRef, tyProc}
-  owner.flags = owner.flags + (elem.flags * {tfHasMeta})
+  owner.flags = owner.flags + (elem.flags * {tfHasMeta, tfTriggersCompileTime})
   if tfNotNil in elem.flags:
     if owner.kind in {tyGenericInst, tyGenericBody, tyGenericInvocation}:
       owner.flags.incl tfNotNil
@@ -1432,9 +1432,6 @@ proc propagateToOwner*(owner, elem: PType) =
       o2.flags.incl tfHasAsgn
       owner.flags.incl tfHasAsgn
 
-  if tfTriggersCompileTime in elem.flags:
-    owner.flags.incl tfTriggersCompileTime
-
   if owner.kind notin {tyProc, tyGenericInst, tyGenericBody,
                        tyGenericInvocation, tyPtr}:
     let elemB = elem.skipTypes({tyGenericInst, tyAlias})