summaryrefslogtreecommitdiff
path: root/src/library/scala/collection/mutable/LinkedListLike.scala
diff options
context:
space:
mode:
authorAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-11-17 17:04:06 +0000
committerAleksandar Pokopec <aleksandar.prokopec@epfl.ch>2010-11-17 17:04:06 +0000
commit048abea8290d2bbb689196e68ada76d5ad368ba9 (patch)
tree9b2a23b67d369bc8bd6fd82047261ebfff79cb27 /src/library/scala/collection/mutable/LinkedListLike.scala
parentc09f6173e96ec741c9b38edfee969ae8c6b74d4e (diff)
downloadscala-048abea8290d2bbb689196e68ada76d5ad368ba9.tar.gz
scala-048abea8290d2bbb689196e68ada76d5ad368ba9.tar.bz2
scala-048abea8290d2bbb689196e68ada76d5ad368ba9.zip
Fixes #3996.
No review.
Diffstat (limited to 'src/library/scala/collection/mutable/LinkedListLike.scala')
-rw-r--r--src/library/scala/collection/mutable/LinkedListLike.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/library/scala/collection/mutable/LinkedListLike.scala b/src/library/scala/collection/mutable/LinkedListLike.scala
index 6fb516d566..d7ad8cf367 100644
--- a/src/library/scala/collection/mutable/LinkedListLike.scala
+++ b/src/library/scala/collection/mutable/LinkedListLike.scala
@@ -37,7 +37,9 @@ trait LinkedListLike[A, This <: Seq[A] with LinkedListLike[A, This]] extends Seq
override def isEmpty = next eq this
- override def length: Int = if (isEmpty) 0 else next.length + 1
+ override def length: Int = length0(repr, 0)
+
+ @tailrec private def length0(elem: This, acc: Int): Int = if (elem.isEmpty) acc else length0(elem.next, acc + 1)
override def head: A = elem