summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJasper Jenkins <jasper.vs.jenkins@gmail.com>2019-04-23 05:20:27 -0700
committerAndreas Rumpf <rumpf_a@web.de>2019-04-23 14:20:27 +0200
commite64dde734bbc3075f1251b902640d8303808d827 (patch)
tree1a1c7162dd0720e2aae57843ed9121f831d830e4
parent9d5e8e55f9bc85d4ded67da141a682e594f02f90 (diff)
downloadNim-e64dde734bbc3075f1251b902640d8303808d827.tar.gz
Fixes #11078 (#11079)
* Fixes #11078
* Move to existing runnableExamples, update the expected html.
* Remove second comment token.
-rw-r--r--compiler/sempass2.nim2
-rw-r--r--nimdoc/testproject/expected/testproject.html4
-rw-r--r--nimdoc/testproject/testproject.nim2
3 files changed, 6 insertions, 2 deletions
diff --git a/compiler/sempass2.nim b/compiler/sempass2.nim
index e5b12e228..7fd2bd5b6 100644
--- a/compiler/sempass2.nim
+++ b/compiler/sempass2.nim
@@ -832,7 +832,7 @@ proc track(tracked: PEffects, n: PNode) =
           createTypeBoundOps(tracked.c, it.typ, it.info)
     let iterCall = n[n.len-2]
     let loopBody = n[n.len-1]
-    if tracked.owner.kind != skMacro and iterCall.len > 1:
+    if tracked.owner.kind != skMacro and iterCall.safelen > 1:
       # XXX this is a bit hacky:
       if iterCall[1].typ != nil and iterCall[1].typ.skipTypes(abstractVar).kind notin {tyVarargs, tyOpenArray}:
         createTypeBoundOps(tracked.c, iterCall[1].typ, iterCall[1].info)
diff --git a/nimdoc/testproject/expected/testproject.html b/nimdoc/testproject/expected/testproject.html
index c562e731e..504b64a69 100644
--- a/nimdoc/testproject/expected/testproject.html
+++ b/nimdoc/testproject/expected/testproject.html
@@ -878,7 +878,9 @@ function main() {
   <span class="Identifier">subdir</span> <span class="Operator">/</span> <span class="Identifier">subdir_b</span> <span class="Operator">/</span> <span class="Identifier">utils</span>
 
 <span class="Identifier">doAssert</span> <span class="Identifier">bar</span><span class="Other">(</span><span class="DecNumber">3</span><span class="Other">,</span> <span class="DecNumber">4</span><span class="Other">)</span> <span class="Operator">==</span> <span class="DecNumber">7</span>
-<span class="Identifier">foo</span><span class="Other">(</span><span class="Identifier">enumValueA</span><span class="Other">,</span> <span class="Identifier">enumValueB</span><span class="Other">)</span></pre></p>
+<span class="Identifier">foo</span><span class="Other">(</span><span class="Identifier">enumValueA</span><span class="Other">,</span> <span class="Identifier">enumValueB</span><span class="Other">)</span>
+<span class="Keyword">for</span> <span class="Identifier">x</span> <span class="Keyword">in</span> <span class="StringLit">&quot;xx&quot;</span><span class="Other">:</span>
+  <span class="Keyword">discard</span></pre></p>
   <div class="section" id="6">
 <h1><a class="toc-backref" href="#6">Imports</a></h1>
 <dl class="item">
diff --git a/nimdoc/testproject/testproject.nim b/nimdoc/testproject/testproject.nim
index d6fac4751..32bf286e8 100644
--- a/nimdoc/testproject/testproject.nim
+++ b/nimdoc/testproject/testproject.nim
@@ -6,6 +6,8 @@ runnableExamples:
   import subdir / subdir_b / utils
   doAssert bar(3, 4) == 7
   foo(enumValueA, enumValueB)
+  # bug #11078
+  for x in "xx": discard
 
 
 template foo*(a, b: SomeType) =