diff options
author | Araq <rumpf_a@web.de> | 2017-11-23 02:32:24 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2017-11-23 02:32:24 +0100 |
commit | 95a5373d07c5761cfffe54dedd08c1649a403247 (patch) | |
tree | 468b72bc7e8ce6438dfc6fea5c0215d23731873e | |
parent | 6f69bdd3a047d4d959019556c1aabb725ad9221b (diff) | |
download | Nim-95a5373d07c5761cfffe54dedd08c1649a403247.tar.gz |
minor optimization for propagateToOwner
-rw-r--r-- | compiler/ast.nim | 5 |
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}) |