From ee5a5d62943e4ba757032e8a4a0776c02e91f36b Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Tue, 7 Sep 2010 15:33:16 +0000 Subject: Fixes infinite loop when appending a ListBuffer... Fixes infinite loop when appending a ListBuffer to itself. Review by extempore. --- src/library/scala/collection/mutable/ListBuffer.scala | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/library/scala/collection/mutable/ListBuffer.scala b/src/library/scala/collection/mutable/ListBuffer.scala index 415096ed89..55629fe523 100644 --- a/src/library/scala/collection/mutable/ListBuffer.scala +++ b/src/library/scala/collection/mutable/ListBuffer.scala @@ -123,6 +123,12 @@ final class ListBuffer[A] this } + override def ++=(xs: TraversableOnce[A]): this.type = + if (xs eq this) ++= (this take size) else super.++=(xs) + + override def ++=:(xs: TraversableOnce[A]): this.type = + if (xs eq this) ++=: (this take size) else super.++=(xs) + /** Clears the buffer contents. */ def clear() { -- cgit v1.2.3