summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Ochsenreither <simon@ochsenreither.de>2012-08-14 22:36:31 +0200
committerSimon Ochsenreither <simon@ochsenreither.de>2012-08-14 22:36:31 +0200
commit7281be95992c9ef47a5a67487d34a30dabf23aa1 (patch)
tree25b3c0ab3d4136fddb0f9b2808047fa6efcfadcb /src
parentd66c7a4fea537d142e42da91bfe87f4aaecc1821 (diff)
downloadscala-7281be95992c9ef47a5a67487d34a30dabf23aa1.tar.gz
scala-7281be95992c9ef47a5a67487d34a30dabf23aa1.tar.bz2
scala-7281be95992c9ef47a5a67487d34a30dabf23aa1.zip
SI-6167 Override SeqLike#isEmpty for better performance
This results in a faster Vector#isEmpty (and head, tail, last, init) because it avoids building a VectorIterator just to check if iterator.hasNext is false. Other classes which have not overridden the implementation of SeqLike also benefit from it.
Diffstat (limited to 'src')
-rw-r--r--src/library/scala/collection/SeqLike.scala2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/library/scala/collection/SeqLike.scala b/src/library/scala/collection/SeqLike.scala
index f6f08398d3..2fc3df0bd2 100644
--- a/src/library/scala/collection/SeqLike.scala
+++ b/src/library/scala/collection/SeqLike.scala
@@ -92,6 +92,8 @@ trait SeqLike[+A, +Repr] extends Any with IterableLike[A, Repr] with GenSeqLike[
i - len
}
+ override /*IterableLike*/ def isEmpty: Boolean = lengthCompare(0) == 0
+
/** The size of this $coll, equivalent to `length`.
*
* $willNotTerminateInf