summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2015-02-19 10:25:00 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2015-02-19 10:25:00 -0800
commit2d26cacd24b396c7f7449e731f059811d0d1fac4 (patch)
treeee042e7b60f9c007ed3084a5a4833237c2dec6a4
parentd93fc01d58f4b2f20cd4d631d1a72fcd0e1aa438 (diff)
parentad7a2f2d497c59eb61284447b38ea2697f9ab738 (diff)
downloadscala-2d26cacd24b396c7f7449e731f059811d0d1fac4.tar.gz
scala-2d26cacd24b396c7f7449e731f059811d0d1fac4.tar.bz2
scala-2d26cacd24b396c7f7449e731f059811d0d1fac4.zip
Merge pull request #4337 from Ichoran/opt-IterLike-2.11.x
Optimization of IterableLike.scala
-rw-r--r--src/library/scala/collection/IterableLike.scala12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/library/scala/collection/IterableLike.scala b/src/library/scala/collection/IterableLike.scala
index 7643b84a8b..ecf64624e8 100644
--- a/src/library/scala/collection/IterableLike.scala
+++ b/src/library/scala/collection/IterableLike.scala
@@ -218,12 +218,12 @@ self =>
val b = newBuilder
b.sizeHintBounded(n, this)
val lead = this.iterator drop n
- var go = false
- for (x <- this) {
- if (lead.hasNext) lead.next()
- else go = true
- if (go) b += x
+ val it = this.iterator
+ while (lead.hasNext) {
+ lead.next()
+ it.next()
}
+ while (it.hasNext) b += it.next()
b.result()
}
@@ -283,7 +283,7 @@ self =>
var i = 0
for (x <- this) {
b += ((x, i))
- i +=1
+ i += 1
}
b.result()
}